---
title: "Adición compleja de leads con contacto y compañía"
method: POST
path: "/api/v4/leads/complex"
---

# Adición compleja de leads con contacto y compañía

`POST /api/v4/leads/complex`

Este método permite añadir leads con contactos y una compañía a tu cuenta en lotes.  Los datos añadidos pueden ser verificados en el control de duplicados.

## Request body

- object
  - `RAW_BODY` object[]
    - `name` string — Nombre del lead
    - `price` number — Venta del lead
    - `status_id` integer — ID de la etapa a la que se añade el lead. Por defecto, es la primera etapa del pipeline principal.
    - `pipeline_id` integer — ID del pipeline al que se añade el lead.
    - `created_by` integer — El ID del usuario que crea el lead. Al pasar el valor 0, el lead será considerado como creado por el robot.
    - `updated_by` integer — El ID del usuario que actualiza el lead. Al pasar el valor 0, el lead será considerado como creado por el robot.
    - `created_at` integer — Fecha de creación del lead en formato de Unix Timestamp.
    - `updated_at` integer — Fecha de actualización del lead en formato de Unix Timestamp.
    - `closed_at` integer — Fecha de cierre del lead en formato de Unix Timestamp.
    - `loss_reason_id` integer — ID del motivo de pérdida del lead.
    - `responsible_user_id` integer — ID del usuario responsable del lead.
    - `custom_fields_values` string, json — Un arreglo de los valores actuales de los campos personalizados del lead.
    - `_embedded` object — Entidades asociadas del lead.
      - `tags` object[] — Datos de las etiquetas añadidas a un lead.
        - `id` integer — ID de la etiqueta.
        - `name` string — Nombre de la etiqueta.
      - `contacts` object[] — Arreglo de datos de contactos vinculados. Este arreglo siempre tiene 1 elemento, ya que el método solo acepta un contacto.
        - `id` integer — ID del contacto
        - `name` string — Nombre completo del contacto
        - `first_name` string — Nombre del contacto
        - `last_name` string — Apellido del contacto
        - `responsible_user_id` integer — ID del contacto responsable
        - `created_by` integer — ID del usuario que creó el contacto
        - `updated_by` integer — ID del usuario que actualizó el contacto por última vez
        - `created_at` integer — Fecha de creación del contacto en formato de Unix Timestamp
        - `updated_at` integer — Fecha de actualización del contacto en formato de Unix Timestamp
        - `custom_fields_values` string, json — Un arreglo de los valores actuales de los campos personalizados del contacto
        - `_embedded` object
          - `tags` object[]
            - `id` integer — ID de la etiqueta.
            - `name` string — Nombre de la etiqueta.
        - `tags_to_add` object[] — Arreglo de etiquetas para añadir Debes pasar ya sea el nombre o el ID de la etiqueta.
          - `id` integer — ID de la etiqueta.
          - `name` string — Nombre de la etiqueta.
        - `request_id` string — El campo será retornado sin cambios en la respuesta y no se guardará.
      - `companies` object[] — Arreglo de datos de la compañía vinculada. Este arreglo siempre tiene 1 elemento, ya que un lead solo puede tener una compañía vinculada.
        - `id` integer — ID de la compañía
        - `name` string — Nombre de la compañía
        - `responsible_user_id` integer — ID del usuario responsable de la compañía
        - `created_by` integer — El ID del usuario que creó la compañía
        - `updated_by` integer — El ID del usuario que actualizó la compañía por última vez
        - `created_at` integer — Fecha de creación de la compañía en formato de Unix Timestamp
        - `updated_at` integer — Fecha de actualización de la compañía en formato de Unix Timestamp
        - `custom_fields_values` string, json — Un arreglo de los valores actuales de los campos personalizados de la compañía
        - `_embedded` object
          - `tags` object[]
            - `id` integer — ID de la etiqueta.
            - `name` string — Nombre de la etiqueta.
        - `tags_to_add` object[] — Arreglo de etiquetas para añadir Debes pasar ya sea el nombre o el ID de la etiqueta.
          - `id` integer — ID de la etiqueta.
          - `name` string — Nombre de la etiqueta.
        - `request_id` string — El campo será retornado sin cambios en la respuesta y no se guardará.
      - `metadata` string, json — "Un objeto que contiene los metadatos de la entidad que se está creando en el lead entrante. Si se pasan metadatos, lo consideramos un lead entrante, y cualquier estado pasado que no sea el de lead entrante será ignorado. Los parámetros son los mismos que los pasados al crear un lead entrante, excepto por la necesidad de pasar una clave de categoría adicional. Además, es necesario pasar ""category"" (sip o formularios) en el objeto. Lee más sobre los parámetros de metadatos aquí: https://kommodesarrolladores.readme.io/reference/metadata-objects-description"
      - `source` object — Fuente del lead.
        - `external_id` string — ID externo de la fuente. Una fuente puede ser añadida utilizando la API de Fuentes. Si se pasa el external_id de la fuente y no se pasa el pipeline_id, el lead se añadirá al pipeline donde se encuentra la fuente.
        - `type` string — Tipo de fuente. Para leads añadidos por integraciones, solo se admite el widget.
    - `tag_to_add` object[] — Arreglo de etiquetas para añadir Debes pasar ya sea el nombre o el ID de la etiqueta.
      - `id` integer — ID de la etiqueta.
      - `name` string — Nombre de la etiqueta.

## Response `200`

200

- object[]
  - `id` integer
  - `contact_id` integer
  - `company_id` integer
  - `request_id` string[]
  - `merged` boolean

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `429` — 429
- `500` — 500

---

[API](https://skmtc.net/kommo/apis/kommo-api.md) · [All operations](https://skmtc.net/kommo/apis/kommo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kommo/kommo-api/versions/e291c0b2038d/schema)
