```html
API de Clientes: Como Usar e Configurar
Esta API (sigla em inglês de Interface de Programação de Aplicativos) permite a integração entre seus aplicativos com a administração de clientes da Atom. Esta API permite:
Criar ou Atualizar um cliente.
Obter uma listagem de clientes.
Ver dados de um cliente através de seu ID.
Ver dados de um cliente através do seu número de telefone
Endpoint: Create client - Criar/Atualizar Cliente
Este serviço permite a criação ou atualização de um cliente na Atom.
Parâmetros
A seguir descrevemos os parâmetros que devem ser incluídos dentro da 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
| firstName |
firstName
| Nome do cliente |
Nome do cliente
| string |
string
| Sim |
Sim
| lastName |
lastName
| Sobrenome do cliente |
Sobrenome do cliente
| string |
string
| Sim |
Sim
| phone |
phone
| Número de telefone do cliente. O código do país deve ser adicionado antes, sem usar o sinal de +Correto: 50755667788 ✅Incorreto: +50555667788 ❌Incorreto: 55667788 ❌ |
Número de telefone do cliente. O código do país deve ser adicionado antes, sem usar o sinal de +
Correto: 50755667788 ✅
Incorreto: +50555667788 ❌
Incorreto: 55667788 ❌
| string |
string
| Sim |
Sim
| email |
| Email do cliente |
Email do cliente
| string |
string
| Opcional. |
Opcional.
| optionals |
optionals
| Parâmetros adicionais para fazer o mapeamento dos campos de informação associados ao cliente, os valores são escritos no modo {key: value} |
Parâmetros adicionais para fazer o mapeamento dos campos de informação associados ao cliente, os valores são escritos no modo {key: value}
| object |
object
| Sim |
Sim
| tags |
tags
| Etiquetas para o cliente |
Etiquetas para o cliente
| string |
string
| Opcional. |
Opcional.
A solicitação para realizar a criação de um cliente usando a API 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
| {“firstName”: “nomedocliente”,“lastName”: sobrenomedocliente”,“phone”: “númerodetelefone”,“email”: “emaildocliente”,“optionals”: {“option1”: “valor”,“option2”: “valor”,…},“tags”: [“tag 1”, “tag2”]} |
{
“firstName”: “nomedocliente”,
“lastName”: sobrenomedocliente”,
“phone”: “númerodetelefone”,
“email”: “emaildocliente”,
“optionals”: {
“option1”: “valor”,
“option2”: “valor”,
…
},
“tags”: [“tag 1”, “tag2”]
}
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
| Novo cliente |
Novo cliente
| 200 |
200
| {"client":"clientID"} |
{
"client":"clientID"
}
| Token incorreto |
Token incorreto
| 400 |
400
| {"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"
}
| Não foi possível criar o cliente |
Não foi possível criar o cliente
| 500 |
500
| {message: "Cannot perform the creation of the client at ${new Date()}"} |
{
message: "Cannot perform the creation of the client at ${new Date()}"
}
| Não foi possível atualizar o cliente |
Não foi possível atualizar o cliente
| 500 |
500
| {message: "Cannot perform the update of the client"} |
{
message: "Cannot perform the update of the client"
}
| Não foi possível atualizar o cliente |
Não foi possível atualizar o cliente
| 500 |
500
| {message: "Cannot perform the update of the client at ${new Date()}"} |
{
message: "Cannot perform the update of the client at ${new Date()}"
}
Endpoint: Client list - Obter listagem de clientes
Este serviço permite obter uma listagem de todos os clientes.
Parâmetros
A seguir explicamos os parâmetros que devem ser incluídos dentro da 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 se deseja obter os registros. Padrão: 1 |
Indicador da página sobre a qual se deseja obter os registros. Padrão: 1
| string |
string
| NÃO. Por padrão 1 |
NÃO. Por padrão 1
| size |
size
| Quantidade de registros a recuperar. Padrão: 10 |
Quantidade de registros a recuperar. Padrão: 10
| string |
string
| NÃO. Por padrão 10 |
NÃO. Por padrão 10
| tags |
tags
| Etiquetas para filtrar, opcionais |
Etiquetas para filtrar, opcionais
| string |
string
| NÃO |
NÃO
| sort |
sort
| Ordem dos resultados. Valores aceitos: asc | desc. Padrão: asc |
Ordem dos resultados. Valores aceitos: asc | desc. Padrão: asc
| string |
string
| NÃO |
NÃO
A solicitação para realizar o recebimento da listagem de clientes usando a API 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
| https://us-central1-atomchat-io.cloudfunctions.net/clients?page={string}&size={string}&sort={string} |
https://us-central1-atomchat-io.cloudfunctions.net/clients?page={string}&size={string}&sort={string}
| 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 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
| Listar clientes |
Listar clientes
| 200 |
200
| {length: int,page: int,items: [{id: string,firstName: string,lastName:string,email: string,optionals: [clave: valor]phone: string,tags: [],user: {id: string,name: string},updatedAt: Date,createdAt: Date},]} |
{
length: int,
page: int,
items: [
{
id: string,
firstName: string,
lastName:string,
email: string,
optionals: [clave: valor]
phone: string,
tags: [],
user: {
id: string,
name: string
},
updatedAt: Date,
createdAt: Date
},
]
}
| Não há lista de clientes |
Não há lista de clientes
| 500 |
500
| {message: "Something went wrong while the operation was being performed"} |
{
message: "Something went wrong while the operation was being performed"
}
| Token incorreto |
Token incorreto
| 400 |
400
| {"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"
}
Exemplo de estrutura JSON
{
"page": 1,
"length": 1,
"items": [
{
"id": "V2EON8A6SPwC2VudgFbp",
"firstName": "Silvio Nicole",
"lastName": "Carballo",
"email": null,