Trabajando con contactos

Un contacto es una entidad que conecta al usuario con el cliente que ha escrito. Es una especie de “ficha de contacto” donde se almacena la información del cliente (número de teléfono en WhatsApp, ID en Telegram, nombre de usuario en Instagram) y se indica el responsable asignado.

Agregar y actualizar la lista de contactos

Para agregar o modificar una lista de contactos, envíe una solicitud:

POST https://api.wazzup24.com/v3/contacts

Hay un límite de 100 entidades por solicitud.

Parámetro

Los parámetros obligatorios están marcados con un asterisco

Tipo Descripción
id* String ID del contacto en el sistema CRM. Máximo 100 caracteres
responsibleUserId* String ID del usuario responsable. Máximo 100 caracteres.

Complete este campo para que el diálogo aparezca en la ventana de chat de Wazzup del responsable asignado

name* String Nombre del contacto. Máximo 200 caracteres
contactData* Array Arreglo de objetos con datos de contacto
contactData.chatType* String Tipo de chat. Valores disponibles:

  • WhatsApp: "whatsapp"
  • Grupo de WhatsApp: "whatsgroup"
  • Viber: "viber"
  • Instagram: "instagram"
  • Telegram: "telegram"
contactData.chatId* String ID del chat (cuenta del contacto en el mensajero).

  • WhatsApp/Viber: solo números, sin espacios ni caracteres especiales, formato 79011112233
  • Instagram: nombre de usuario sin @
  • Whatsgroup y Telegram: llega en los webhooks
contactData.username String Solo para Telegram. Nombre de usuario sin @.

Se puede usar si no se conoce el chatId

contactData.phone String Solo para Telegram.

Número en formato internacional, sin + ni otros símbolos. Usado si no se conoce el chatId

uri String Enlace al contacto en el CRM. Máximo 200 caracteres. Si se especifica, aparecerá un botón hacia el contacto en el desplegable de “Negocios”.
Ejemplo de solicitud
fetch("https://api.wazzup24.com/v3/contacts", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer {apiKey}",
  },
  body: [
{
        "id": "1",
        "responsibleUserId": "1",
        "name": "3301",
        "contactData": [
            {
                "chatType": "whatsapp",
                "chatId": "79991114433"
            }
        ],
        "uri": "https://link-to-contact-in-crm.com"
    },
    {
        "id": "2",
        "responsibleUserId": "1",
        "name": "3302",
        "contactData": [
            {
                "chatType": "whatsapp",
                "chatId": "79884447788"
            }
        ]
    }
]

Errores

Además de los errores comunes a todas las rutas, aquí también pueden aparecer los siguientes:

Errores Descripción
INVALID_CONTACTS_DATA El cuerpo de la solicitud está vacío o algunos de los campos proporcionados no son válidos
TOO_MACH_ENTITIES Se superó el límite de 100 entidades por solicitud

 HTTP/1.1 400 Bad Request
{
"error": "TOO_MACH_ENTITIES",
"description": "Too mach entities per request.",
"data": {
"count": 123,
"limit": 100,
}
}

Obtener la lista de contactos

Para obtener la lista de contactos, llame a:

 GET https://api.wazzup24.com/v3/contacts?offset=

Puede obtener hasta 100 registros por solicitud, ordenados por id ascendente (ASC).

offset es el desplazamiento para paginación (entero no negativo).

Respuesta

La respuesta será un arreglo de objetos con los siguientes parámetros:

Parámetro Tipo Descripción
count Number Número total de contactos
data Object Arreglo con la información de cada contacto
data.id String  ID del contacto en el sistema CRM. No más de 100 caracteres
data.responsibleUserId String ID del usuario responsable. No más de 100 caracteres
data.name String Nombre del contacto. No más de 200 caracteres
data.contactData Object Datos de contacto: chatType y chatId
data.uri String Enlace al contacto en el CRM. Si se especifica, se mostrará un botón en el desplegable de “Negocios”. No más de 200 caracteres

Obtener información de un contacto individual

Para obtener información de un contacto específico cargado desde el CRM a Wazzup:

 GET https://api.wazzup24.com/v3/contacts/{contact id}

Ejemplo de solicitud

 curl --location --request GET 'https://api.wazzup24.com/v3/contacts/111-2e0df379-0e3c-470f-9b36' \

--header 'Authorization: Bearer c8cf904467023482f909520d454368d27'
Respuesta

Los datos del resultado de la consulta vendrán en forma de un objeto con los siguientes parámetros:

Parámetro Tipo Descripción
id String ID del contacto en el sistema CRM. Máximo 100 caracteres
responsibleUserId String ID del usuario responsable. Máximo 100 caracteres
name String  Nombre del contacto. Máximo 200 caracteres
contactData Object Arreglo de objetos con los datos del contacto que contiene chatType y chatId
uri String Enlace al contacto en el CRM. Máximo 200 caracteres.

Si se especifica, en el menú desplegable de "Negocios", el usuario verá un botón que lleva a la página del contacto en el CRM

Eliminar múltiples contactos

Para eliminar un contacto, realiza la siguiente llamada:

 DELETE https://api.wazzup24.com/v3/contacts/{contact id}

Si existe un diálogo con este contacto en el chat general, permanecerá allí.

Ejemplo de solicitud

 curl --location --request DELETE 'https://api.wazzup24.com/v3/contacts/111-2e0df379-0e3c-470f-9b36' \

--header 'Authorization: Basic c8cf90444023482f909520d454368d27'

Errores

Eliminación múltiple de contactos

Para eliminar una lista de contactos, realiza la siguiente llamada:

 PATCH https://api.wazzup24.com/v3/contacts/bulk_delete

En el cuerpo de la solicitud debes pasar un arreglo con los ID de los contactos que deseas eliminar. Si la eliminación es exitosa, se devolverá 200 OK y un arreglo vacío. Si algunos de los contactos especificados no existen en Wazzup, sus ID se devolverán como un arreglo en la respuesta.

Ejemplo de solicitud

fetch("https://api.wazzup24.com/v3/contacts/bulk_delete", {
  method: "PATCH",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer {apiKey}",
  },
  body: [
    "contact-id-123",
    "contact-id-456",
  ]
});