Guía para integración por API
📘 Guía para Integración por API – Ejemplos de JSON
Esta guía muestra cómo estructurar los datos necesarios para interactuar con nuestras APIs. Está pensada para equipos técnicos que deban automatizar la carga o creación de objetos (como clientes, tareas, elementos de red, operaciones de material, etc.) desde sistemas externos.
🧩 Campos de entrada (input_data)
Texto simple
json
CopyEdit
{
"name": "client_id",
"label": "ID del cliente"}
Número
{
"name": "ring_lat",
"label": "Latitud del centro de búsqueda",
"type": "number"
}
Fecha
{
"name": "date_plan_sar",
"label": "Fecha plan SAR",
"type": "date"
}
Selector relacionado (requiere endpoint y clase)
{
"name": "network_element",
"label": "Elemento de red",
"type": "related_object",
"related_object": {
"endpoint": "/api/networkelement/?ne_type=150",
"class": "NetworkElement"
}
}
Otros ejemplos:
- Cliente:
class: Client - Staff:
class: Staff - Tarea:
class: Task
Opciones (con valores asociados)
{
"name": "client",
"label": "Cliente",
"type": "options",
"options": [
{
"label": "Claro",
"value": {
"project_id": 162,
"code_prefix": "06"
}
},
{
"label": "TIM",
"value": {
"project_id": 155,
"code_prefix": "01"
}
}
]
}
🏗️ Creación de objetos (created_objects)
Crear un elemento de red
{
"type": "NetworkElement",
"name": "network_element",
"label": "Centro de anillo",
"data": {
"code": "created_objects.winity_code",
"description": "input_data.client_id",
"organization": 154,
"sites": [
"input_data.sitio1",
"input_data.sitio2"
],
"ne_type": "124"
}
}
Crear cliente con campos personalizados
{
"type": "Client",
"name": "created_client",
"label": "Cliente",
"data": {
"name": "input_data.client_name",
"client_type": 3,
"latitude": "input_data.lat_client",
"longitude": "input_data.long_client",
"custom_fields": {
"Estado": "input_data.status.sufix",
"IP": "input_data.ip_address"
}
}
}
Crear una tarea
{
"type": "Task",
"name": "task",
"label": "Instalación",
"data": {
"project": 1909,
"task_template": 463,
"assigned_staff": "input_data.user_staff.id",
"code": "input_data.taskcode",
"plan_date": "input_data.date",
"sites": [
"created_objects.site.id"
],
"description": "created_objects.task_description"
}
}
Crear un formulario
{
"type": "Form",
"name": "form",
"label": "Relevamiento",
"data": {
"project": 392,
"template": 662,
"assigned_user": "input_data.User_staff.related_user_id",
"sites": [
{
"id": 76433
}
],
"plan_date": "input_data.date",
"organization": 167
}
}
🔐 Autenticación y Headers
Todos los requests deben incluir:
- Autenticación por token:
Authorization: Token TU_TOKEN
- Encabezados obligatorios:
Accept: application/json
Content-Type: application/json
Organization: [ID de tu organización]
Note
Puedess consultar el ID con tu Account Manager.