📥API de Contactos

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

La API 1.0 de Contactos y Mensajes quedará obsoleta en 2023. Le recomendamos encarecidamente que empiece a migrar a la nueva API pronto.

Comience a construir con la API de la próxima generación de okeybot.com. Consulte nuestra documentación específica sobre la API.

Las llamadas a la API se realizan por canal. Los tokens se pueden generar usando el icono de llave, junto al canal deseado en Configuración . Hay un límite de frecuencia de 100 llamadas API por minuto.

Peticiones

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 utilizar TRUE o FALSE como valor.

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

Respuesta: éxito (estado HTTP → 200)

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

Obtener contacto por ID

Esta solicitud devuelve un único objeto de contacto.

/v1/contact/{contact_id}

Ejemplo de solicitud GET

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

Respuesta: éxito (estado HTTP → 200)

{
        "data": {
            "id": "1776025372480910",
            "custom_fields": {
                "firstName": "Mahin",
                "lastName": "Dar",
                "locale": "en_GB",
                "timezone": "5",
                "gender": "male",
                "phone": "123123",
                "email": "muhammad@okeybot.com",
                "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}

Ejemplo de solicitud PUT

curl -X PUT \
      https://app.okeybot.com/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"
            }
        ]
    }'

Respuesta: éxito (estado HTTP → 200)

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

Limitaciones

Máximo 30 campos actualizados por solicitud.

Tenga en cuenta que en el caso del canal Viber, debido a una cierta limitación, la ID de contacto debe proporcionarse en un formato codificado en 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.okeybot.com/api/v1/contact/1776025372480910/tags \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
        "tags": [
            "Blog Updates",
            "Platform Updates"
        ]
    }'

Respuesta: éxito (estado HTTP → 200)

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

Limitaciones

Máximo 10 etiquetas agregadas por solicitud.

Eliminar etiqueta por ID

Esta solicitud elimina las etiquetas de un contacto.

/v1/contact/{contact_id}/tags

Ejemplo de solicitud DELETE

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

Respuesta: éxito (estado HTTP → 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 del canal Viber, debido a una cierta limitación, la 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 de solicitud POST

curl -X POST \
      https://app.okeybot.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": "Muhammad Mahin"
            },
            {
                "name": "lastName",
                "value": "Dar"
            }
        ]
    }'

Respuesta: éxito (estado HTTP → 200)

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

Códigos de error

No autorizado (estado HTTP → 401)

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

Demasiadas solicitudes (estado HTTP → 429)

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

Método no permitido (estado HTTP → 405)

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

General (Estado HTTP → 403)

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

Limitaciones

Máximo 30 campos creados por solicitud.

Última actualización