---
title: "Paso 5: Enviar, recibir o importar mensajes"
method: POST
path: "/v2/origin/custom/{scope_id}"
---

# Paso 5: Enviar, recibir o importar mensajes

`POST /v2/origin/custom/{scope_id}`

## Path parameters

- `scope_id` string, required

## Headers

- `Date` string, required
- `Content-type` string, required
- `Content-MD5` string
- `X-Signature` string

## Request body

- object
  - `RAW_BODY` object
    - `event_type` 'new_message' | 'edit_message' — Tipo de evento (`new_message` y `edit_message` están disponibles)
    - `payload` object — Una matriz contiene los elementos del mensaje.
      - `timestamp` integer, required — Marca de tiempo del mensaje en formato Unix Timestamp
      - `msec_timestamp` integer — Marca de tiempo del mensaje en milisegundos
      - `msgid` string, required — ID del mensaje del lado de la integración
      - `conversation_id` string, required — ID del chat del lado de la integración
      - `conversation_ref_id` string — ID del chat del lado de Kommo. Debe enviarse si el cliente responde a un mensaje enviado con "Escribir primero", para que el chat en tu sistema se asocie con el chat en el sistema
      - `source` object — Fuente del mensaje
        - `external_id` string — Identificador de la fuente de chat del lado de la integración. Si no necesitas especificar la fuente, entonces el campo de la fuente no es necesario
      - `sender` object — Remitente del mensaje
        - `id` string, required — ID del participante del chat del lado de la integración
        - `ref_id` string — ID del participante del chatdel lado de la API de Chats
        - `name` string, required — Nombre del participante del chat
        - `avatar` string — Enlace al avatar del participante del chat. El enlace debe estar disponible para recursos de terceros y proporcionar una imagen para descargar
        - `profile_link` string — Enlace al perfil del participante del chat en un sistema de chat de terceros
        - `profile` object — Perfil del participante del chat
          - `phone` string — Número de teléfono. Al crear un lead entrante, el número de teléfono se añadirá a los datos del contacto
          - `email` string — Dirección de correo electrónico. Al crear un lead entrante, la dirección de correo electrónico se añadirá a los datos del contacto
      - `receiver` object — Receptor del mensaje
        - `id` string, required — ID del participante del chat del lado de la integración
        - `ref_id` string — ID del participante del chatdel lado de la API de Chats
        - `name` string, required — Nombre del participante del chat
        - `avatar` string — Enlace al avatar del participante del chat. El enlace debe estar disponible para recursos de terceros y proporcionar una imagen para descargar
        - `profile_link` string — Enlace al perfil del participante del chat en un sistema de chat de terceros
        - `profile` object — Perfil del participante del chat
          - `phone` string — Número de teléfono. Al crear un lead entrante, el número de teléfono se añadirá a los datos del contacto
          - `email` string — Dirección de correo electrónico. Al crear un lead entrante, la dirección de correo electrónico se añadirá a los datos del contacto
      - `message` object — Un arreglo que contiene los componentes del mensaje
        - `type` 'text' | 'contact' | 'file' | 'video' | 'picture' | 'voice' | 'audio' | 'sticker' | 'location', required — Tipo de mensaje, uno de los siguientes: `text`, `contact`, `file`, `video`, `picture`, `voice`, `audio`, `sticker`, `location`
        - `text` string — El campo es obligatorio para el tipo `text`, puede estar en blanco para otros tipos
        - `media` string — URL al `file`, `video`, `picture`, `voice`, `audio`, `sticker`. La URL debe estar disponible para descargar. Campo opcional si el archivo no cambia al editar el mensaje.
        - `file_size` integer — El tamaño del archivo del campo `media` (opcional)
        - `file_name` string — El nombre del archivo de la URL del campo `media`, el campo es opcional. Ignorado para el tipo `voice`. Campo opcional si el archivo no cambia al editar el mensaje.
        - `contact` object — Campos obligatorios para mensajes del tipo contacto (información de contacto)
          - `name` string — Nombre del contacto
          - `phone` string — Teléfono del contacto
        - `location` object — Campos obligatorios para mensajes del tipo ubicación (geoposición)
          - `lon` number, float — Longitud
          - `lat` number, float — Latitud
        - `post` object — Campo opcional. Debe enviarse para comentarios
          - `id` string, required — ID único de la publicación del lado de la integración
          - `url` string, required — Enlace a la publicación en la fuente
          - `preview_url` string — Enlace de vista previa si los enlaces TTL están limitados
          - `preview_permalink` string — Enlace de vista previa si el enlace es permanente
          - `username` string — Usuario que publicó la publicación
          - `caption` string — Descripción de la publicación
        - `media_duration` integer — Opcional. Duración de los mensajes de `video`, `audio` o `voice`.
        - `delivery_status` object — Opcional. Objeto de estado de entrega de mensajes, que se puede pasar tanto para los tipos `edit_message` como `new_message`.
          - `status_code` -1 | 1 | 2 — Estado de entrega. Los estados disponibles se describen aquí: https://es-developers.kommo.com/reference/actualizar-el-estado-de-entrega-del-mensaje Cuando no se pasa ningún valor, el estado será `Enviado`
          - `error_сode` integer — Código de error. Requerido solo si `"status_code": -1`. Los tipos disponibles se describen aquí: https://es-developers.kommo.com/reference/actualizar-el-estado-de-entrega-del-mensaje#c%C3%B3digos-de-error
          - `error` string — Texto del error que se mostrará en la interfaz de Kommo. Obligatorio solo si `"status_code": -1` y `"error_code": 905`.
        - `shared_post` object — Opcional. Publicación compartida por el usuario.
          - `url` string — URL de la publicación
          - `preview_link` string — Opcional. Enlace temporal a la imagen de vista previa. Se usa cuando el enlace de vista previa es temporal y necesitas descargar la imagen en Kommo.
          - `preview_permalink` string — Opcional. Enlace permanente a la imagen de vista previa. Se usa cuando el enlace de vista previa es permanente y no es necesario subir la imagen a Kommo.
          - `type` string — Tipo de publicación. Actualmente, solo se admite el valor `post`.
          - `site_name` string — Opcional. Título de la publicación.
        - `sticker_id` string — Opcional. Un ID común para la calcomanía que se envía a todas las cuentas.
        - `callback_data` string — Opcional. Debe pasarse a Mensajes de lista de WhatsApp para que el bot se inicie correctamente.
      - `silent` boolean — Define si el mensaje activa una notificación en la cuenta de Kommo
      - `reply_to` object — Obligatorio. El objeto del mensaje incrustado. Un mensaje de una cita con respuesta solo puede pertenecer al mismo chat que el mensaje enviado.
        - `id` string — El ID del mensaje citado en la API de Chats. Si se pasa, no es necesario completar los campos restantes; se determinarán automáticamente. Si se pasa el ID, desplazarse hasta el mensaje también funcionará si el chat está en la misma tarjeta.
        - `msgid` string — El ID del mensaje citado en la integración. Si se pasa, no es necesario completar los campos restantes; se determinarán automáticamente. Si se pasa el ID, desplazarse hasta el mensaje también funcionará si el chat está en la misma tarjeta.
        - `type` string — Obligatorio si no se proporciona identificación. El tipo de mensaje puede ser: `text`, `contact`, `file`, `video`, `picture`, `voice`, `audio`, `sticker`, `location`.
        - `text` string — Obligatorio para el tipo `text` si no se pasa ningún ID. Para otros tipos de mensaje, este campo puede estar vacío.
        - `file_name` string — Opcional. Nombre del archivo
        - `file_size` string — Opcional. Tamaño del archivo en bytes.
        - `media_duration` string — Opcional. Duración de los mensajes de `video`, `audio` y `voice`.
        - `location` object — Obligatorio para mensajes de tipo `location` si no se pasa ninguna identificación.
          - `lon` number, float — Longitud
          - `lat` number, float — Latitud
        - `sender` object
          - `id` string — ID del remitente en el lado de la integración, si se pasa, los campos restantes no necesitan ser completados, se determinarán automáticamente.
          - `ref_id` string — ID del remitente en la API de Chats, si se pasa, los campos restantes no necesitan ser completados, se determinarán automáticamente.
          - `name` string — Obligatorio si no se proporciona identificación. Nombre del remitente.
      - `forwards` object — Opcional. El objeto de la cotización reenviada.
        - `messages` object[] — Obligatorio. Una matriz de objetos de mensaje incrustados. Actualmente, solo se puede reenviar un mensaje. Los mensajes de una cita reenviada pueden pertenecer a cualquier chat externo dentro de la integración.
          - `id` string — El ID del mensaje citado en la API de Chats. Si se pasa, no es necesario completar los campos restantes; se determinarán automáticamente. Si se pasa el ID, desplazarse hasta el mensaje también funcionará si el chat está en la misma tarjeta.
          - `msgid` string — El ID del mensaje citado en la integración. Si se pasa, no es necesario completar los campos restantes; se determinarán automáticamente. Si se pasa el ID, desplazarse hasta el mensaje también funcionará si el chat está en la misma tarjeta.
          - `type` string — Obligatorio si no se proporciona identificación. El tipo de mensaje puede ser: `text`, `contact`, `file`, `video`, `picture`, `voice`, `audio`, `sticker`, `location`.
          - `text` string — Obligatorio para el tipo `text` si no se pasa ningún ID. Para otros tipos de mensaje, este campo puede estar vacío.
          - `file_name` string — Opcional. Nombre del archivo
          - `file_size` string — Opcional. Tamaño del archivo en bytes.
          - `media_duration` string — Opcional. Duración de los mensajes de `video`, `audio` y `voice`.
          - `location` object — Obligatorio para mensajes de tipo `location` si no se pasa ninguna identificación.
            - `lon` string — Longitud
            - `lat` string — Latitud
          - `contact` object — Obligatorio para mensajes de contacto si no se proporciona identificación.
            - `name` string — Obligatorio. Nombre de contacto
            - `phone` string — Obligatorio. Número de teléfono de contacto
          - `sender` object
            - `id` string — ID del remitente en la integración. Si se pasa, los campos restantes son opcionales y se definirán automáticamente.
            - `ref_id` string — ID del remitente en la API de Chats. Si se pasa, los campos restantes son opcionales y se definirán automáticamente.
            - `name` string — Obligatorio si no se proporciona ningún ID. Nombre del remitente.
          - `timestamp` integer — Obligatorio si no se proporciona ID, hora del mensaje o marca de tiempo Unix.
          - `msec_timestamp` integer — Obligatorio si no se proporciona ID, tiempo del mensaje en milisegundos.
        - `conversation_ref_id` string — Opcional. ID de chat en la API de chat. El chat debe pertenecer a la integración.
        - `conversation_id` string — Opcional. ID de chat en el lado de la integración.

## Response `200`

200

- object
  - `new_message` object
    - `msgid` string
    - `ref_id` string

## Other responses

- `400` — 400
- `403` — 403

---

[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/revisions/e291c0b2038d/schema)
