Volver al centro de ayuda

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.