Te permite agregar, editar y recuperar información de contacto a través de la API.
Las llamadas API se realizan por canal. Los tokens se pueden generar mediante el icono de llave, junto al canal deseado en Settings/Channels. Hay un límite de 100 llamadas al API por minuto.
Solicitudes #
La API de contactos se compone de varias solicitudes:
- Obtener contacto por campo personalizado
- Obtener contacto por ID
- Actualizar contacto por ID
- Añadir etiqueta por ID
- Eliminar etiqueta por ID
- Crear contacto
Obtener Contacto por Campo Personalizado #
Esta solicitud devuelve una lista de objetos Contact con paginación.
/v1/contact/by_custom_field
Ejemplo GET Request #
curl -X GET \
      'https://chatcentral.orade.com/api/v1/contact/by_custom_field?name=firstName&value=Juan%20Ejemplo' \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json'
Respuesta – Success (HTTP status → 200) #
{
      "data": [
        {
          "id": "1776025372480910",
          "custom_fields": {
            "firstName": "Mahin",
            "lastName": "Dar",
            "locale": "en_GB",
            "timezone": "5",
            "gender": "male",
            "phone": "123123",
            "email": "juanej@orade.com",
            "customerid": "1"
          },
          "tags": [
            "Blog Updates",
            "Platform Updates"
          ],
          "created_at": 1575618542
        }
      ],
      "links": {
        "first": "http://chatcentral.orade.com/api/v1/contact/by_custom_field?page=1",
        "last": "http://chatcentral.orade.com/api/v1/contact/by_custom_field?page=1",
        "prev": null,
        "next": null
      },
      "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "http://chatcentral.orade.com/api/v1/contact/by_custom_field",
        "per_page": 10,
        "to": 1,
        "total": 1
     }
   }
Get Contact by ID – Obtener Contacto por ID #
Esta solicitud devuelve un único objeto de Contact.
/v1/contact/{contact_id}
Ejemplo GET Request #
curl -X GET \
      https://chatcentral.orade.com/api/v1/contact/1776025372480910 \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
Respuesta – Success (HTTP status → 200) #
{
       "data": {
           "id": "1776025372480910",
           "custom_fields": {
               "firstName": "Mahin",
               "lastName": "Dar",
               "locale": "en_GB",
               "timezone": "5",
               "gender": "male",
               "phone": "123123",
               "email": "juanej@orade.com",
               "customerid": "1"
            },
            "tags": [
              "Blog Updates",
              "Platform Updates"
            ],
            "created_at": 1575618542
        }
    }
Update Contact by ID – Actualizar Contacto por ID #
Esta solicitud actualiza el valor de un campo personalizado de contacto.
/v1/contact/{contact_id}
Ejemplo PUT Request #
curl -X PUT \
      https://chatcentral.orade.com/api/v1/contact/1776025372480910 \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "custom_fields": [
            {
                "name": "firstName",
                "value": "Juan Ejemplo"
            },
            {
                "name": "lastName",
                "value": "Dar"
            }
       ]
    }'
Respuesta – Success (HTTP status → 200) #
{
      "data": {
        "id": "cus_112233344555"
      }
    }
Limitantes #
Máximo 30 campos actualizados por solicitud.
Ten en cuenta que en el caso de Viber Channel – debido a una cierta limitación – el ID de contacto debe proporcionarse en un formato codificado en Base64.
Add Tag by ID – Agregar Etiqueta por ID #
Esta solicitud agrega una etiquetas para un Contacto.
/v1/contact/{contact_id}/tags
Ejemplo POST Request #
curl -X POST \
      https://chatcentral.orade.com/api/v1/contact/1776025372480910/tags \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "tags": [
            "Blog Updates",
            "Platform Updates"
        ]
    }'
Respuesta – Success (HTTP status → 200) #
{
        "status": "success",
        "message": "Contact Tags have been added successfully.",
        "data": []
    }
Limitantes #
Máximo 10 etiquetas agregadas por solicitud.
Remove Tag by ID – Eliminar Etiquetas por ID #
Esta solicitud elimina las etiquetas de un contacto.
/v1/contact/{contact_id}/tags
Ejemplo DELETE Request #
curl -X DELETE \
      https://chatcentral.orade.com/api/v1/contact/1776025372480910/tags \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "tags": [
            "Blog Updates",
            "Platform Updates"
        ]
    }'
Respuesta – Success (HTTP status → 200) #
{
        "status": "success",
        "message": "Contact Tags deleted successfully.",
        "data": []
    }
Limitantes #
Máximo 10 etiquetas eliminadas por solicitud.
IMPORTANTE: Ten en cuenta que en el caso de Viber Channel – debido a una cierta limitación – el ID de contacto debe proporcionarse en un formato codificado en Base64.
Crear contacto #
Esta solicitud crea un Contacto y establece valores para sus Campos personalizados.
/v1/contact
Ejemplo GET Request #
curl -X POST \
      https://chatcentral.orade.com/api/v1/contact/ \
      -H 'Authorization: Bearer {channel_api_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "custom_fields": [
            {
                "name": "phone",
                "value": "03244077087"
            },
            {
                "name": "firstName",
                "value": "Juan Ejemplo"
            },
            {
                "name": "lastName",
                "value": "Dar"
            }
        ]
    }'
Respuesta – Success (HTTP status → 200) #
{
        "data": {
            "id": "cus_112233344555"
        }
    }
Códigos de Error #
Unauthorized (HTTP Status → 401) #
{
        "status": "error",
        "message": "API Token is invalid.",
        "data": []
    }
Too Many Requests (HTTP Status → 429) #
{
      "status": "error",
      "message": "Too many requests",
      "data": []
}
Method Not Allowed (HTTP Status → 405) #
{
      "status": "error",
      "message": "405 Method Not Allowed.",
      "data": []
}
General (HTTP Status → 403) #
{
      "status": "error",
      "message": "Message String",
      "data": []
}
Limitantes #
Máximo 30 campos creados por solicitud.
