💭API de Mensajes

Le permite enviar mensajes que contienen texto, imagen, audio, vídeo o archivo a contactos en la plataforma.

Se requiere el token de canal para acceder a este recurso de API. Los tokens se pueden generar usando el icono de llave, junto al canal deseado en Configuración.

Peticiones

La API de contactos se compone de varios tipos de solicitudes:

Enviar solicitud de texto

Esta solicitud envía un mensaje de texto directamente al contacto según se define en el punto final.

POST /v1/message/sendContent/{contactId}

Ejemplo de solicitud de texto POST

curl -X POST \
      https://app.okeybot.com/api/v1/message/sendContent/{contactId} \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
  "body": [
  	{
  		"type" : "text",
  		"text" : "Hi there"
  	}
  ]
}'

Respuesta: éxito (estado HTTP → 200)

    {
      "status": "Success",
      "message": "Message Sent",
      "data": []
  }

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.

Enviar solicitud de adjunto

Esta solicitud envía un archivo adjunto en forma de URL directamente al contacto según se define en el punto final. El archivo puede ser imagen, video, audio o archivo.

POST /v1/message/sendContent/{contactId}

Solicitud de envío de imagen POST de muestra

curl -X POST \
      https://app.okeybot.com/api/v1/message/sendContent/{contactId} \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
  "body": [
  	{
  		"type" : "image",
  		"url" : "http://abc.com"
  	}
  	}
  ]
}'

Respuesta: éxito (estado HTTP → 200)

    {
      "status": "Success",
      "message": "Message Sent",
      "data": []
  }

Solicitud de envío de video POST de muestra

curl -X POST \
      https://app.okeybot.com/api/v1/message/sendContent/{contactId} \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
  "body": [
  	{
  		"type" : "video",
  		"url" : "http://abc.com"
  	}
  	}
  ]
}'

Respuesta: éxito (estado HTTP → 200)

    {
      "status": "Success",
      "message": "Message Sent",
      "data": []
  }

Ejemplo de solicitud de envío de audio POST

curl -X POST \
      https://app.okeybot.com/api/v1/message/sendContent/{contactId} \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
  "body": [
  	{
  		"type" : "audio",
  		"url" : "http://abc.com"
  	}
  	}
  ]
}'

Respuesta: éxito (estado HTTP → 200)

    {
      "status": "Success",
      "message": "Message Sent",
      "data": []
  }

Ejemplo de solicitud de envío de archivos POST

curl -X POST \
      https://app.okeybot.com/api/v1/message/sendContent/{contactId} \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
  "body": [
  	{
  		"type" : "audio",
  		"url" : "http://abc.com"
  	}
  	}
  ]
}'

Respuesta: éxito (estado HTTP → 200)

    {
      "status": "Success",
      "message": "Message Sent",
      "data": []
  }

Enviar mensaje de texto con solicitud de respuestas rápidas

Esta solicitud envía un mensaje de texto con respuestas rápidas para los receptores.

curl -X POST \
      https://app.okeybot.com/api/v1/message/sendContent/{contactId} \
      -H 'Authorization: Bearer {channel_token}' \
      -H 'Content-Type: application/json' \
      -d '{
  "body": [
  	
    {
      "type":"quick_reply",
    	"title" : "What is you favorite color?",
    	"replies" : ["Black","Blue","Grey","Red"]
    }
    
  ]
}'

Respuesta: éxito (estado HTTP → 200)

    {
      "status": "Success",
      "message": "Message Sent",
      "data": []
  }

​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": []
  }

Tipo de archivo incomparable (Estado HTTP → 403)

  {
      "status": "error",
      "message": "Sorry, Url provided is not an image/audio/video file",
      "data": []
  }

Limitaciones

  • Solo se puede enviar un mensaje en una llamada a la API.

  • API tiene un límite de velocidad de 25 RPS.

  • Se permiten 10 respuestas rápidas de 20 caracteres cada una.

  • La encuesta no se cancela de forma predeterminada. debe enviarse explícitamente en la carga útil.forceCancelSurvey : trueEl estado del contacto no se cambiará en la llamada a la API.

Última actualización