API de Contactos

Le permite agregar, editar y recuperar información de contacto a través de la API.

Las llamadas a la API se realizan por canal. Los tokens se pueden generar usando el ícono de llave, al lado del canal deseado en Configuración. Hay un límite de tasa de 200 llamadas API por minuto.

Solicitudes

La API de contactos se compone de varias solicitudes:

Obtener Contacto por Campo Personalizado

Esta solicitud devuelve una lista de objetos de contacto con paginación.

/v1/contact/by_custom_field

Ejemplo de solicitud GET

Si desea recuperar una lista de contactos por campo personalizado de tipo booleano, asegúrese de usar verdadero o falso como valor.

Si desea recuperar una lista de contactos por número de teléfono, asegúrese de reemplazar el '+' con '%2B'

curl -X GET \
      'https://app.telenet/api/v1/contact/by_custom_field?name=firstName&value=Muhammad%20Mahin' \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json'

Respuesta - Éxito (HTTP Status → 200)

{
      "data": [
        {
          "id": "1776025372480910",
          "custom_fields": {
            "firstName": "Mahin",
            "lastName": "Dar",
            "locale": "en_GB",
            "timezone": "5",
            "gender": "male",
            "phone": "123123",
            "email": "muhammad@telenet",
            "customerid": "1",
            "isLead" : true
          },
          "tags": [
            "Blog Updates",
            "Platform Updates"
          ],
          "created_at": 1575618542
        }
      ],
      "links": {
        "first": "http://app.telenet/api/v1/contact/by_custom_field?page=1",
        "last": "http://app.telenet/api/v1/contact/by_custom_field?page=1",
        "prev": null,
        "next": null
      },
      "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "http://app.telenet/api/v1/contact/by_custom_field",
        "per_page": 10,
        "to": 1,
        "total": 1
      }
    }

Obtener Contacto por ID

Esta solicitud devuelve un solo objeto de contacto.

/v1/contact/{contact_id}

Ejemplo de solicitud GET

curl -X GET \
      https://app.telenet/api/v1/contact/1776025372480910 \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \

Respuesta - Éxito (HTTP Status→ 200)

{
        "data": {
            "id": "1776025372480910",
            "custom_fields": {
                "firstName": "Mahin",
                "lastName": "Dar",
                "locale": "en_GB",
                "timezone": "5",
                "gender": "male",
                "phone": "123123",
                "email": "muhammad@telenet",
                "customerid": "1"
            },
            "tags": [
                "Blog Updates",
                "Platform Updates"
            ],
            "created_at": 1575618542
        }
    }

Actualizar contacto por ID

Esta solicitud actualiza un valor de campo personalizado de contacto.

/v1/contact/{contact_id}

Campo de contacto (ID) que se permite actualizar

  • firstName

  • lastName

  • profilePic

  • language

  • phone

  • email

  • custom_field IDs (Consulte el módulo Campo de contacto para obtener el ID de cada campo personalizado)

Se permite actualizar el campo personalizado

Ejemplo de solicitud PUT

curl -X PUT \
      https://app.telenet/api/v1/contact/1776025372480910 \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "custom_fields": [
            {
                "name": "firstName",
                "value": "Muhammad Mahin"
            },
            {
                "name": "lastName",
                "value": "Dar"
            },
            {
                "name": "profilePic",
                "value": "Muhammad Mahin"
            },
            {
                "name": "firstName",
                "value": "Muhammad Mahin"
            },
            {
                "name": "lastName",
                "value": "Dar"
            }
        ]
    }'

Respuesta - Éxito (HTTP Status → 200)

{
      "data": {
        "id": "cus_112233344555"
      }
    }

Limitaciones

Máximo 30 Campos actualizados por Solicitud.

Tenga en cuenta que en el caso de Viber Channel, debido a una cierta limitación, la ID de contacto debe proporcionarse en un formato codificado Base64.

Agregar etiqueta por ID

Esta solicitud agrega etiquetas para un contacto.

/v1/contact/{contact_id}/tags

Ejemplo de solicitud POST

curl -X POST \
      https://app.telenet/api/v1/contact/1776025372480910/tags \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "tags": [
            "Blog Updates",
            "Platform Updates"
        ]
    }'

Respuesta - Éxito (HTTP Status → 200)

{
        "status": "success",
        "message": "Contact Tags have been added successfully.",
        "data": []
    }

Limitaciones

Se agregan un máximo de 10 etiquetas por solicitud.

Eliminar Etiqueta por ID

Esta solicitud elimina las etiquetas de un contacto.

/v1/contact/{contact_id}/tags

Ejemplo de solicitud de ELIMINACIÓN

curl -X DELETE \
      https://app.telenet/api/v1/contact/1776025372480910/tags \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "tags": [
            "Blog Updates",
            "Platform Updates"
        ]
    }'

Respuesta - Éxito (HTTP Status → 200)

{
        "status": "success",
        "message": "Contact Tags deleted successfully.",
        "data": []
    }

Limitaciones

Máximo de 10 etiquetas eliminadas por solicitud.

Tenga en cuenta que en el caso de Viber Channel, debido a una cierta limitación, la ID de contacto debe proporcionarse en un formato codificado Base64.

Crear contacto

Esta solicitud crea un contacto y establece valores para sus campos personalizados.

/v1/contact

Ejemplo de solicitud POST

curl -X POST \
      https://app.telenet/api/v1/contact/ \
      -H 'Authorization: Bearer {channel_api_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "custom_fields": [
            {
                "name": "phone",
                "value": "03244077087"
            },
            {
                "name": "firstName",
                "value": "Muhammad Mahin"
            },
            {
                "name": "lastName",
                "value": "Dar"
            }
        ]
    }'

Respuesta - Éxito (HTTP Status → 200)

{
        "data": {
            "id": "cus_112233344555"
        }
    }

Códigos de Error

No autorizado (HTTP Status → 401)

{
        "status": "error",
        "message": "API Token is invalid.",
        "data": []
    }

Demasiadas solicitudes (HTTP Status → 429)

  {
      "status": "error",
      "message": "Too many requests",
      "data": []
  }

Método no permitido (HTTP Status → 405)

  {
      "status": "error",
      "message": "405 Method Not Allowed.",
      "data": []
  }

General (HTTP Status → 403)

  {
      "status": "error",
      "message": "Message String",
      "data": []
  }

Limitaciones

Máximo 30 Campos creados por Solicitud.

Last updated