Passar para o conteúdo principal

Use nossa API de Templates no Atom.

Utilize nossa API de Templates no Atom

Esta API (sigla em inglês de Interface de Programação de Aplicações) permite a integração entre seus aplicativos com o serviço de envio de Templates do Atom. Esta API permite:

  • Enviar um template.

  • Obter uma listagem de templates.

  • Ver detalhes de um template através de seu ID.

Endpoint: Templates - Envio de Template

Este serviço permite o envio de Templates Messages utilizando o número de WhatsApp Oficial e o templateId.

Quando o número enviado já estiver vinculado a uma conversa, a mensagem será enviada sobre a mesma e a confirmação de envio será imediata. Caso contrário, será aguardada a confirmação por meio do provedor de WhatsApp Oficial, pelo qual não será fornecida uma confirmação de envio imediata.

Parâmetros

A seguir, explicamos os parâmetros que devem ser incluídos na solicitação de forma obrigatória e outros que podem ser adicionados opcionalmente:

| Nome do Parâmetro |

Nome do Parâmetro

| Descrição |

Descrição

| Tipo de Dado |

Tipo de Dado

| Requerido |

Requerido

| templateId |

templateId

| Identificador (Id) do Template Message do AtomChat. |

Identificador (Id) do Template Message do AtomChat.

| string |

string

| Sim |

Sim

| phoneNumber |

phoneNumber

| Número de telefone para o qual a Template Message será enviada. O código do país deve ser prefixado, sem usar o sinal +

Correto: 50755667788 ✅

Incorreto: +50555667788 ❌

Incorreto: 55667788 ❌ |

Número de telefone para o qual a Template Message será enviada. O código do país deve ser prefixado, sem usar o sinal +

Correto: 50755667788 ✅

Incorreto: +50555667788 ❌

Incorreto: 55667788 ❌

| string |

string

| Sim |

Sim

| firstName |

firstName

| Nome do cliente |

Nome do cliente

| string |

string

| Sim |

Sim

| lastName |

lastName

| Sobrenome do cliente |

Sobrenome do cliente

| string |

string

| Sim |

Sim

| assign |

assign

| Indica se a conversa deve ser atribuída a um Agente (com o valor true). Caso contrário, ela é atribuída a Bot. |

Indica se a conversa deve ser atribuída a um Agente (com o valor true). Caso contrário, ela é atribuída a Bot.

| boolean |

boolean

| Não. O valor padrão é false. |

Não. O valor padrão é false.

| params |

params

| Coleção de parâmetros com seus valores necessários para o uso da Template Message.{key: value} |

Coleção de parâmetros com seus valores necessários para o uso da Template Message.

{key: value}

| object |

object

| Não |

Não

A solicitação para realizar o envio de Templates Messages (mensagens com templates) utilizando a nova API do AtomChat é feita da seguinte forma:

| Tipo de Conexão |

Tipo de Conexão

| Acesso público pela Internet |

Acesso público pela Internet

| Endpoint |

Endpoint

| Método |

Método

| POST |

POST

| Cabeçalhos |

Cabeçalhos

| Content-type: application/jsonCharset: utf-8Authorization: Bearer (token público) |

Content-type: application/json

Charset: utf-8

Authorization: Bearer (token público)

| Corpo |

Corpo

| {“templateId”: “iddeltemplate”,“phoneNumber”: “numerodetelefono”,“firstName”: “nombredelcliente”,“lastName”: apellidodelcliente”,“groupName”: “nombredelgrupo”,“assign”:true/false,“params”: {“param1”: “valor”,“param2”: “valor”,…},} |

{

“templateId”: “iddeltemplate”,

“phoneNumber”: “numerodetelefono”,

“firstName”: “nombredelcliente”,

“lastName”: apellidodelcliente”,

“groupName”: “nombredelgrupo”,

“assign”:true/false,

“params”: {

“param1”: “valor”,

“param2”: “valor”,

},

}

Respostas

As respostas esperadas para a solicitação realizada são as seguintes:

| Cenário |

Cenário

| Código de Resposta |

Código de Resposta

| Corpo da Resposta |

Corpo da Resposta

| Template enviado |

Template enviado

| 200 |

200

| {success: true,message: "Sent",data: {conversation_id : conversation.id }} |

{

success: true,

message: "Sent",

data: {conversation_id : conversation.id }

}

| Template pendente de envio |

Template pendente de envio

| 202 |

202

| {"success": false,"conversationId":conversation.id,"status": 202} |

{

"success": false,

"conversationId":conversation.id,

"status": 202

}

| Parâmetros incorretos |

Parâmetros incorretos

| 400 |

400

| {success: false,message: "No hay datos para enviar"} |

{

success: false,

message: "No hay datos para enviar"

}

| Faltam Parâmetros de template necessários |

Faltam Parâmetros de template necessários

| 400 |

400

| {code: 400,body: {context: { key: 'Body', label: 'body.params' },message: "Missing params:[] ",path: ['body.params'],type: 'Bad format',},} |

{

code: 400,

body: {

context: { key: 'Body', label: 'body.params' },

message: "Missing params:[] ",

path: [

'body.params'

],

type: 'Bad format',

},

}

| Template sem ID ou Template sem mensagem definido |

Template sem ID ou Template sem mensagem definido

| 400 |

400

| {code: 400,body: {context: { key: 'Body', label: ['template.appId', 'template.message'] },message: 'No data to send',path: ['template.appId', 'template.message'],type: 'Bad format',},} |

{

code: 400,

body: {

context: { key: 'Body', label: ['template.appId', 'template.message'] },

message: 'No data to send',

path: [

'template.appId', 'template.message'

],

type: 'Bad format',

},

}

| Canal não conectado |

Canal não conectado

| 401 |

401

| {code: 401,body: {context: {value: atom.channel?.status, key: 'Channel', label: 'channel.status'},message: 'The channel associated to the template is not configured yet, please contact the support team',path: ['channel.status'],type: 'Bad format',},} |

{

code: 401,

body: {

context: {

value: atom.channel?.status, key: 'Channel', label: 'channel.status'

},

message: 'The channel associated to the template is not configured yet, please contact the support team',

path: ['channel.status'],

type: 'Bad format',

},

}

| Token incorreto |

Token incorreto

| 401 |

401

| {"context": {"key": "Authorization","label": "headers.authorization","value":Bearer},"message": "Cannot find a channel associated with the public tokenBearer","path": ["headers.authorization"],"type": "Bad format"} |

{

"context": {

"key": "Authorization",

"label": "headers.authorization",

"value":Bearer

},

"message": "Cannot find a channel associated with the public tokenBearer",

"path": [

"headers.authorization"

],

"type": "Bad format"

}

| O limite de conversas do plano foi atingido |

O limite de conversas do plano foi atingido

| 401 |

401

| {"success": false,"message": "The client has reached conversations limit","conversationId": null,"status": 401} |

{

"success": false,

"message": "The client has reached conversations limit",

"conversationId": null,

"status": 401

}

| Erro interno |

Erro interno

| 500 |

500

| {context: { key: 'Api', label: 'api.SendTemplateController', value: error },message: 'Something went wrong while the operation was executed',path: ['api.SendTemplateController'],type: 'Internal Server Error',} |

{

context: { key: 'Api', label: 'api.SendTemplateController', value: error },

message: 'Something went wrong while the operation was executed',

path: ['api.SendTemplateController'],

type: 'Internal Server Error',

}

Endpoint: Get List of templates - Listar templates

Este serviço permite listar os templates pertencentes a um canal determinado pelo token público.

Parâmetros

A seguir, explicamos os parâmetros que devem ser incluídos na solicitação de forma obrigatória e outros que podem ser adicionados opcionalmente

| Nome do Parâmetro |

Nome do Parâmetro

| Descrição |

Descrição

| Tipo de Dado |

Tipo de Dado

| Requerido |

Requerido

| page |

page

| Indicador da página sobre a qual os registros devem ser obtidos. Padrão: 1 |

Indicador da página sobre a qual os registros devem ser obtidos. Padrão: 1

| string |

string

| Não |

Não

| size |

size

| Quantidade de registros a serem recuperados. Padrão: 10 |

Quantidade de registros a serem recuperados. Padrão: 10

| string |

string

| Não |

Não

A solicitação para realizar o recebimento da listagem de templates utilizando a API do AtomChat é feita da seguinte forma:

| Tipo de Conexão |

Tipo de Conexão

| Acesso público pela Internet |

Acesso público pela Internet

| Endpoint |

Endpoint

| Método |

Método

| GET |

GET

| Cabeçalhos |

Cabeçalhos

| Content-type: application/jsonCharset: utf-8Authorization: Bearer (token público) |

Content-type: application/json

Charset: utf-8

Authorization: Bearer (token público)

Respostas

As respostas esper

Respondeu à sua pergunta?