API v3
Bem-vindo à API Huggy. Com ela, você pode gerenciar todos os agentes, contatos e atender seus clientes, enviar e receber mensagens. Essa API permite executar ações programaticamente na conta da sua empresa.
Nossa API nativamente suporta o formato:
REST
O sistema deve fazer uma solicitação para o URL https://api.huggy.app/v3, enviando os parâmetros por GET, POST, PUT ou DELETE. Para cada solicitação, a resposta será um objeto JSON, que é detalhado ao longo desta documentação.
Autenticação
Autenticação via painel Huggy
Para que a API seja ativada, será necessário adicionar um aplicativo na sessão Developers no painel Huggy e realizar uma autenticação através de uma estrutura de autorização para concessão de acesso à API, OAuth2.0
. A criação do aplicativo disponibilizará acesso as credenciais OAuth que consistem em client_id
e client_secret
, as quais possibilitarão a geração do token de acesso à API.
Sessões do aplicativo
Informações Básicas
Nessa sessão, você poderá configurar um Nome e uma Descrição para seu aplicativo, ambos poderão ser atualizados a qualquer momento.
Autenticação OAuth 2.0
Nessa sessão você poderá configurar uma url de callback e visualizar o client_id e o client_secret que foram gerados automaticamente a partir do momento que você criou o aplicativo na plataforma Huggy.
Endereço de entrega
url de callback
- Consiste em um endereço de entrega que será utilizado para que a Huggy possa devolver ao seu aplicativo a autorização solicitada.
Credenciais OAuth
client_id
- ID do aplicativo do cliente. Trata-se de como a API irá identificar a aplicação.
client_secret
- Conhecido e utilizado somente pelo aplicativo e pelo servidor de autorização.
- Conhecido e utilizado somente pelo aplicativo e pelo servidor de autorização.
Fluxo de autenticação
Passo 1:
- Criar um aplicativo na plataforma
Huggy
Passo 2:
- Substituir os parâmetros da url abaixo.
https://auth.huggy.app/oauth/authorize?scope=install_app%20read_agent_profile&response_type=code&redirect_uri={url_de_callback}&client_id={client_id}
1- scope: Define o escopo de acesso à API (recursos);
- response_type: Tipo de resposta esperada. Código enviado à url de callback;
- redirect_uri: URL de callback configurada no aplicativo;
- client_id: ID do aplicativo;
Passo 3:
- Estando com o usuário logado na plataforma Huggy, acessar a
url
com as informações descritas no passo anterior. Se todos os passos até aqui forem contemplados, então a interface de autorização de uso lhe será apresentada.
Passo 4:
- Conceder permissão de uso do aplicativo
Passo 5:
- Após clicar em
Autorizar uso
, enviaremos o code para a url de callback:
https://nomedoapp.org/auth/callback?code=def50200a66869346ba8d24820a1ed96e267d3518a65d27efe179ab73f1c8e50a0ba7f860b763534eaeec5c895ca7efaf49aa7b5160ab33545c18c59d8672e9d0ae8f98a0b81aaae9b741c8536839dbbb4d2864d08f11d5faeea10bec7a4eba32b3e07c343e6031c280f73d97d1dfd92ec0bfe3a84e6ffb62d18991b21c5825c1ef4c4e2dd0c92550d70aa11184b6f1e7004c09f54826ca47cf42c1065efd0e680e8857909d64e991258e41981858d08bc5e9e70866ec7ab67e500a7af3d84835cbc7a6ca33fc38e782050b62e5af3b280368315bf3dd3c234bffa986426a6eed2efa922e932d9579721e6dc1c3a5e74d949773a3eaaaa596be289d129cb81b62690ba32166b2d54c0725ad510g99f7df41c9edc701e1d60ffed375319dee886287030e6d3f4d0983b4211a4b74d82ff3349f5027eee16bca259e4b5ba88123a4e68e5ce4fad77e3ecd558036271bw566ebe4b5cc0baa1e05bb6c0c5a1d0420ab2bcc3e96396b9b58dc63a345732dcc8246dba3ac5c687eb6981882d37fc84e2e9bc88e8a88f795b6cb7f2dc89d97c0c31b37d207c3b45571e2bc39afb412929485f7a84f485daaae4a7
Nota: O code enviado para a url de callback só poderá ser utilizado uma vez. Caso você precise gerar novamente o access_token, o passo 2 dessa documentação deverá ser repetido.
Passo 6:
- Em posse do code, uma requisição deve ser feita para a extração do
access_token
e orefresh_token
, conforme o modelo a seguir:
Parâmetros da requisição
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
grant_type | string | authorization_code | Isso informa ao terminal do token que o aplicativo está usando o tipo de concessão Código de Autorização OAuth. |
redirect_uri | string | https://nomedoapp.org/auth/callback | URL de callback utilizada para o recebimento do token |
client_id | string | APP-bafb4727-c1fe-47af-8cd7-9f43c1a87767 | ID do aplicativo do cliente |
client_secret | string | 52f9fc0d-daa5-4238-bg36-2rb63db54eeb | Conhecido e utilizado somente pelo aplicativo e o servidor de autorização |
code | string | def50200fb4b3a43e7647589... | Code enviado para a url de callback. Garante a autenticidade do cliente e controle de acesso ao token |
Exemplo da requisição
{
"grant_type": "authorization_code",
"redirect_uri": "https://nomedoapp.org/auth/callback",
"client_id": "APP-bafb4727-c1fe-47af-8cd7-9f43c1a87767",
"client_secret": "52f9fc0d-daa5-4238-bg36-2rb63db54eeb",
"code": "def50200fb4b3a43e7b4d2513ae2db4c14a444cbded99f2fbb29e6f0d3d10bfad6c452548252c01ee4060c2ac6c689dab0d8f37664e682d6e275d5c065dad88c219d2bff4d872f2df440736f0919d1420ad05cecd588749a6a375b51790f706fe16e1685100f433d7fbbe464296dd491f0b767e5c934723162fb58aa22f835a2ed37ca60f8dfec57fce7a4bd5d98e3526610796d4b868586f3672636a53b7df771e9c528c51a11a582c5518f72267f94747b7b9bca367add990847dd0d6a07f97f3377c0f80f97736fffde33fb9124524a81c0d27c6877ac6d03b0d00b46f5758c6ba35baadba3766d01cfac5bb0213dc5115cde5645c9a8f0f385893061ff8247c0d222d7f5941795b8332e17b06c0f34c2744056718954eb3d63a60bc5836909c3b314a8ad8ca16d481b126a1971c552153b25aba5087385a3c42c1b60297ba7d86cd81ceab72bb05fe0f5cb767ceb229a7d239c2c2ae8cda7513b6f7230c2ffbc17a82f53297348399ef29527a2a3b138a1da64eae320e0eedb56e11f9c894f057cfd68fc5b0015b8493bd988a810c7b91836e9539df92398bb0c4de66b749747f09f2240a3d24e27"
}
2
3
4
5
6
7
Parâmetros de resposta 200
{
"token_type": "Bearer",
"expires_in": 2592000,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImY4ODUxODBhZGU4N2Q0MGE1NmNkNWE4ODE3YzU0YWIyZDliZDg0NmVlODdkYTIzYTg3YThlNjQyZWY4NjczOGQ5Nzg5NDA2ZjU0NmYyYWVhIn0.eyJhdWQiOiJBUFAtZGFmYjQ3MjctYTFmZS00NmFmLTljZDctNmQ0M2MxYTg3NzY3IiwianRpIjoiZjg4NTE4MGFkZTg3ZDQwYTU2Y2Q1YTg3MTdjNTRhYjJkOWJkODQ2ZWU4N2RhMjNhODdhOGU2mDJlZjg2NzM4ZDk3ODk0MDZmNTQ2ZjJhZWEiLCJpYXQiOjE1NzQ4NTk2OTEsIm5iZiI6MTU3NDg1OTY5MSwiZXhwIjoxNTc3NDUxNjkxLCJzdWIiOiIzNDE0NiIsInNjb3BlcyI6WyJpbnN0YWxsX2FwcCIsInJlYWRfYWdlbnRfcHJvZmlsZSJdfQ.WXSsIOigtQh3GEGoGvfogcNiee6y1ElkvXCdOxJSOQr5LXJU-mZR2gCsBLh_XKXtvuj-9MSKHSq10HgsKacLrmJGryaeBvo1m9Ro9GUrTeNPY2cKOtjaCcxTgjRbTUvWQlNOhPMfxNSQ8-2L5-hKwrhxtjbFPghrtF1ifqRj_w0",
"refresh_token": "def5430200ce65d9ae52cbd8e89191c731d15e6836bda7e6ad80a1ffe7f5bbbe971bae5cef6b881054ea003e55cf9d2cefd8218902ad0822bb137a561f7d1d72bada321e607b8acd396b618c933b2aeb4ae0971b7a12e116050f2583b0bf1d6f3bf90635d1fb2f417756b1963c9a55414a9d3cc63374a9683e07b4d07da1299a2c3ccdb6c1s91040ef6279afd7bc1e4b70f070272dcf7cd39c7f2508b2ffdf5f58101f8fc552ae828f372253d67973a2357560944cff5d5c020f1d5da1fdc045d6e5acc8856571635ac0aca0217bc069b9cb4718219f6acd33c77f1b8a4ddcf1742ba122e879054d096a198aab985d2144949444cc078a5d09fa372e91bcb1568c8b0977ad94614223d04f60b6dc245d2e28922ffdcf8284d1a4dde1874b3715bd92019cdb019dec3ef4f6a2d745c6948aebb271e90ed94d1cfce6d6fda526c52175453cabcbc096cf818bd5a32356007c8c40f93fc4694fcbeb51431dc0dbe2e4b05e8a479101fdb457a4a2e29d076701be5a640d6115e43cd261b52f8939ead61d4a11f2f3dab615dbf09e319619833a287f6de6f75f9dc08385af43689fc41b04f92825f2cb0fddb0289e19980"
}
2
3
4
5
6
Nota: O access_token possui um prazo de validade de cinco anos.
Headers
Todas as requisições também devem incluir os seguintes headers:
- Content-Type: application/json
- Accept: application/json
- Authorization: Bearer xxxxxxx
Idioma
Por padrão, quando não for informado o Accept-Language
, todas as requisições serão respondidas em inglês. Para obter a resposta em um idioma preferido, no Header de sua requisição, informe:
- Accept-Language: en
- Accept-Language: pt-br
- Accept-Language: es
Requisições
Por padrão, todas as chamadas à API assumem que a requisição em questão está sendo feita diretamente na company principal. Isto é: a primeira company que um agente foi vinculado. Se a requisição está sendo feita a uma company secundária, ela deverá assumir o modelo de URI https://api.huggy.app/v3/companies/{companieId}/recurso...
Response
Algumas requisições bem-sucedidas podem ser respondidas com um status 200 ou 204 sem que um corpo retorne, como em requisições que utilizam os métodos POST e DELETE.
Paginação
O parâmetro de paginação está previsto para todos os endpoints que listam o conteúdo de um determinado recurso. Essa lista se limita a 20 resultados e os recursos remanescentes, se existirem, podem ser acessados com um parâmetro de consulta ?page=1
em uma requisição. Esta paginação começa em 0
(primeira página). Se a página solicitada não existir, uma lista vazia []
é retornada no corpo da resposta.
Respostas usuais do servidor:
- 200 OK - o pedido foi bem sucedido.
- 201 Created - o pedido foi bem sucedido e um recurso foi criado.
- 204 Modified - o pedido foi bem sucedido e um recurso foi modificado.
- 400 Bad Request - o pedido não pôde ser entendido ou faltavam os parâmetros necessários. Verifique o motivo na resposta do corpo.
- 401 Unauthorized - falha na autenticação ou o usuário não possui permissões para a operação solicitada. Verifique o token da API, ele pode estar errado.
- 403 Forbidden - o cliente não tem direitos de acesso ao conteúdo, portanto, o servidor é reservado a não dar mais respostas. Diferente do código 401, aqui a identidade do cliente é conhecida.
- 404 Not Found - o recurso não foi encontrado. Isso pode ser causado por um ID não existente.
- 423 Locked - O recurso sendo acessado está bloqueado, não sendo possível, no momento, nenhuma interação com ele.
- 501 Request Failed - pode ser causada por um método de solicitação incorreto.
Chats
GET/chats
Visualizar todos os chats
Este endpoint possui alguns parâmetros opcionais para obtermos os dados de um chat de acordo a sua situação. Para esse tipo de requisição, passe como parâmetro
na URL o atributo agent
, department
, customer
, situation
ou status
seguido da valor que deseja filtrar, como por exemplo:
Parâmetros | Tipo | Opção | Descrição |
---|---|---|---|
agent | int | id | id do agente |
department | int | id | id do departamento |
customer | int | id | id do cliente |
status | string | wait_answer, without_answer, without_interaction, not_read, all_without_filed | Descrições dos valores |
situation | string | auto, in_chat, wait_for_chat, blocked, finishing, filed | Descrições dos valores |
Descrição da chave status
Valores | Descrição |
---|---|
wait_answer | Última mensagem do contato ainda não lida pelo agente. |
without_answer | Um contato enviou uma mensagem e está sem resposta pelo agente. |
without_interaction | Chat inicializado pelo agente e o contato ainda não realizou nenhuma interação. |
not_read | Contato enviou uma mensagem e o agente ainda não leu. |
all_without_filed | Retorna todos os chats que não estão arquivados. |
Descrição da chave situation
Valores | Descrição |
---|---|
auto | Chats que estão no automático |
in_chat | Chats que estão em atendimento |
wait_for_chat | Chats que estão aguardando atendimento |
blocked | Chats bloqueados pelo agente |
finishing | Chats que dependem de pesquisa de satisfação para encerrar. |
filed | Chats que estão em fila aguardando atendimento |
Resposta 200
[
{
"id": 13119881,
"agentId": 34146,
"secondAgentId": null,
"contactId": 5081359,
"siteCustomerId": null,
"messengerId": null,
"departmentId": null,
"tabulationId": null,
"chatTabulation": null,
"lastMessage": {
"text": "Olá Doe",
"sendAt": "2019-06-11 11:44:33"
},
"chatDepartment": null,
"unread": "0",
"channels": [
{
"uuid": "325c3456-9981-43f5-8705-30bcc241fcb2",
"id": "carloseduardo@teste.com.br",
"name": "Carlos Eduardo",
"type": "Email"
}
],
"chatCustomer": {
"id": 5081359,
"name": "Doe",
"mobile": "7588888888",
"phone": null,
"email": "test1@test.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"queueNumber": null,
"situation": "in_chat",
"createdAt": "2019-06-11 11:44:10",
"updatedAt": "2019-06-11 11:44:33",
"attendedAt": "2019-06-11 11:44:14",
"closedAt": null,
"channel": "email"
},
{
"id": 13119877,
"agentId": 34146,
"secondAgentId": null,
"contactId": 5081356,
"siteCustomerId": null,
"messengerId": null,
"departmentId": null,
"tabulationId": null,
"chatTabulation": null,
"lastMessage": {
"text": "Olá, John Doe.",
"sendAt": "2019-06-11 15:13:16"
},
"chatDepartment": null,
"unread": "0",
"channels": [
{
"uuid": "89905a7d-f95b-11e8-8969-0ee2e7d4bad8",
"id": "contato@teste.com.br",
"name": "Impressão Expressa",
"type": "Email"
}
],
"chatCustomer": {
"id": 5081356,
"name": "John",
"mobile": null,
"phone": "551170707070",
"email": "john@doe.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"queueNumber": null,
"situation": "in_chat",
"createdAt": "2019-06-11 10:38:46",
"updatedAt": "2019-06-11 15:13:16",
"attendedAt": "2019-06-11 12:05:38",
"closedAt": null,
"channel": "email"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
GET/chats/{id}
Visualizar os detalhes de um chat
Obtém os dados detalhados de um chat
a partir de seu ID
.
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Resposta 200
{
"id": 17656128,
"agentId": 39704,
"secondAgentId": null,
"contactId": 7356074,
"siteCustomerId": null,
"messengerId": null,
"departmentId": null,
"tabulationId": null,
"chatTabulation": null,
"lastMessage": {
"text": "Hello, John!",
"sendAt": "2019-05-26 23:07:19"
},
"chatDepartment": null,
"unread": "0",
"channels": [{
"uuid": "89905a7d-f95b-11e8-8969-0ee2e7d4bad8",
"id": "contato@teste.com.br",
"name": "Impressão Expressa",
"type": "Email"
}],
"chatCustomer": {
"id": 7356074,
"name": "John Doe",
"mobile": null,
"phone": "551170707070",
"email": "john@doe.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"queueNumber": null,
"situation": "wait_for_chat",
"createdAt": "2019-05-26 23:07:19",
"updatedAt": null,
"attendedAt": null,
"closedAt": null,
"channel": "email"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
GET/chats/{id}/messages
Visualizar as mensagens de um chat
Obtém a mensagem de um chat
específico a partir de seu ID
.
Essa requisição retornará as mensagens correspondentes a um chat. Portanto, ela poderá retornar uma ou mais mensagens.
Requisição
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Resposta 200
[
{
"id": 270954690,
"text": "https://cdn.pzw.io/1ec9d63c92527f8c794093c78e86561f1a.png",
"isInternal": false,
"isEmail": false,
"sender": {
"id": 33980,
"name": "John Doe",
"mobile": "557576767676",
"phone": "557576767676",
"email": "teste@abc.com",
"photo": "https://cdn.pzw.io/b4cae08a6373897658bb99b076bdb9257fd.jpg"
},
"senderType": "agent",
"receiver": {
"id": 1841996,
"name": "John",
"mobile": "999999999",
"phone": "33333333",
"email": "john@doe.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"receiverType": "widget",
"file": null,
"chat": {
"id": 13122329,
"channel": "widget",
"situation": "in_chat",
"department": false,
"customer": {
"id": 1841996,
"name": "John",
"mobile": "999999999",
"phone": "33333333",
"email": "john@doe.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
}
},
"sendAt": "2019-10-01 10:43:20",
"readAt": null,
"type": "text"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
messages.type
type
- Utilizado para representar tipo de mensagem retornada no
payload
.
- Utilizado para representar tipo de mensagem retornada no
Valor | Descrição |
---|---|
text | Representa uma mensagem de Texto |
image | Representa um link para uma imagem |
audio | Representa uma mensagem de áudio |
video | Representa um link para um vídeo |
document | Representa um documento enviado pelo chat" |
Representa um endereço de email | |
sms | Representa um sms |
internalEvent | Representa a ocorrência de um evento interno. Por exemplo: "Agente y definiu departamento x" |
templateMessage | Representa uma mensagem template quando esta é enviada no chat |
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/chats/{id}/tags
Visualizar todas as tags do chat
Obtém a lista de tags adicionadas a um chat.
Nota: Tags são utilizadas para sintetizar o contexto de um atendimento e assim, ser possível mapeá-lo.
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Resposta 200
[
{
"id": "304430",
"name": "restrição"
},
{
"id": "304431",
"name": "bloqueio"
}
]
2
3
4
5
6
7
8
9
10
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/chats/{id}/agents
Visualizar o ID de um agente
Obtém o Nome
e o ID
de um agente a partir do número ID
do chat.
Parâmetros | Tipo | Exemple | Descrição |
---|---|---|---|
id | number | 39704 | Número identificador do agente |
Resposta 200
[
{
"name": "Carlos",
"id": 39704
}
]
2
3
4
5
6
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro"
}
2
3
POST/chats/{id}/messages
Adicionar nova mensagem em um chat
Adiciona um nova mensagem passando chave
e valor
no corpo de sua requisição.
Uma nova mensagem só pode ser adicionada em um chat
previamente criado.
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Exemplo da requisição
{
"text": "Olá, John!",
"file": "https://c.pzw.io/img/avatar-user-boy.jpg",
"isInternal": false
}
2
3
4
5
Atributo | Tipo | Descrição | Requerido |
---|---|---|---|
text | string | Mensagem enviada para o contato | Sim |
file | string | URL enviada para o contado contendo um arquivo | |
isInternal | boolean | Informa se a mensagem é interna |
Tipos de arquivos permitidos
- image/jpg
- image/png
- image/gif
- image/bmp
- audio/mp4
- audio/mp3
- audio/wav
- application/pdf
- application/doc
- application/txt
Resposta 200
{
"id": 270959650,
"text": "Olá, John!",
"isInternal": false,
"isEmail": false,
"sender": {
"id": 33980,
"name": "John Doe",
"mobile": "557599999999",
"phone": "557533333333",
"email": "john@doe.com",
"photo": "https://cdn.pzw.io/b4cae08a6473895bc99b076bdb9257fd.jpg"
},
"senderType": "agent",
"receiver": {
"id": 1842023,
"name": "John Doe",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"receiverType": "widget",
"file": "https://c.pzw.io/img/avatar-user-boy.jpg",
"chat": {
"id": 13122720,
"channel": "widget",
"situation": "in_chat",
"department": false,
"customer": {
"id": 1842023,
"name": "John Doe",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
}
},
"sendAt": "2019-10-16 17:44:15",
"readAt": null,
"type": "image"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
POST/chats/{id}/transfer
Transferir um chat para outro agente
Transfere um chat para outro agente. A resposta esperada contém um customerID
e o chatID
que o agente foi transferido.
Nota: O agente, o qual receberá o chat transferido, visualizará a mensagem enviada na requisição, em seu painel de atendimento.
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Atributos | Tipo | Descrição |
---|---|---|
id | int | Número identificador do agente |
message | string | Mensagem enviada ao agente junto à transferência |
Exemplo da requisição
{
"agentId": 39607,
"message": "Olá, segue o atendimento do nosso cliente Emanoel"
}
2
3
4
Resposta 200
{
"customerId": "7356074",
"id": 17656128
}
2
3
4
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
PUT/chats/{id}/agent
Adicionar um agente
Adiciona um agente ao chat.
Nota: Um
agente
convidado não pode adicionar outros agentes. Se essa requisição for solicitada, um status400
será retornado.
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Atributos | Tipo | Descrição |
---|---|---|
id | int | Número identificador do agente |
Exemplo da requisição
{
"agentId": 39607
}
2
3
Resposta 200
Requisição bem sucedida com o body vazio
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
PUT/chats/{id}/read
Marcar mensagem como lida
Marca leitura na mensagem do chat
informado. Um ID
será requerido para isso.
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Resposta 200
Requisição bem sucedida com o body vazio
Resposta 403
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
PUT/chats/{id}/tags
Atualizar tags do chat
Esta ação permite realizar alterações nas tags
de um chat
específico, atualizando-as, modificando seu valor original.
Para isso, informe no parâmetro da requisição o ID
do chat e no corpo da requisição os valores das tags.
Nota: Cada valor será passado para a chave tags como uma
array
contendo o nome de cada uma das tags separados por vírgula. O número de tags que se deseja alterar pode ser superior ao número de tags existentes para ochat
em questão. Neste caso, uma ou mais tags aparecerão vinculadas ao chat em questão. Isso é possível porque a alteração é feita em um array que poderá ter seus indices atualizados ou novos adicionados, caso seja passado uma quantidade de tags superior ao existente.
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Atributos | Tipo | Descrição |
---|---|---|
tags | string | String contendo tags de marcação para o chat |
Exemplo da requisição
{
"tags": [
"tag4",
"tag5",
"tag6"
]
}
2
3
4
5
6
7
Resposta 200
Requisição bem sucedida com o body vazio
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
PUT/chats/{id}/queue
Mover para a fila
Move um chat
para a fila.
Parâmetros | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Resposta 200
Requisição bem sucedida com o body vazio
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
PUT/chats/{id}/department
Atribuir um departamento ao chat
Atribui um departamento a um chat
. Para isso, informe o ID
de um chat válido e informe no corpo da requisição o número do departamento que será atribuído.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Atributos | Tipo | Descrição |
---|---|---|
department | int | Número do departamento que se deseja atribuir ao chat |
Resposta 200
Requisição bem sucedida com o body vazio
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
PUT/chats/{id}/close
Fechar um chat
Fecha um chat, passando seu ID
como parâmetro na requisição.
Nota: Opcionalmente você poderá fechar um chat utilizando uma tabulação enviada no corpo da requisição.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Exemplo da requisição
{
"tabulation": "12484",
"comment": "comentário através da API"
}
2
3
4
Resposta 200
Requisição bem sucedida com o body vazio
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
PUT/chats/{id}/reopen
Reabrir um chat
Fecha a reabertura de um chat, passando seu ID
como parâmetro na requisição.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Resposta 200
Requisição bem sucedida com o body vazio
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
DELETE/chats/{id}
Excluir um chat
Exclui um chat a partir do seu ID
.
Nota: Somente um Administrador possui permissão para excluir um chat. Um chat só poderá ser excluído quando estiver com o status finalizado.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 9838322 | Número identificador do chat |
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Agentes
GET/agents
Visualizar todos os agentes
Obtém informações de todos os agentes cadastrados.
Nota: Este recurso possui um parâmetro opcional que retorna todos os registros encontrados, isto é: o total de registros em uma ou mais páginas.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
allPages | boolean | true | Parâmetro que retornará todos os registros se seu valor for verdadeiro |
Resposta 200
[
{
"id": 39708,
"name": "Kivya",
"email": "teste@teste.com",
"photo_url": null,
"phone": "5575999999999"
},
{
"id": 39704,
"name": "Carlos",
"email": "teste@teste.com",
"photo_url": null,
"phone": "5575999999999"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
GET/agents/profile
Visualizar o perfil do agente
Obtém os dados do perfil do agente logado na plataforma Huggy.
Nota: O perfil a ser exibido, corresponde ao do
token
do usuário logado na plataforma.
Resposta 200
{
"id": 39704,
"roleID": "3",
"companyID": "15333",
"name": "Carlos",
"email": "teste@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"createdAt": "2019-05-26 17:48:14"
}
2
3
4
5
6
7
8
9
GET/agents/{id}
Visualizar dados de um agente
Obtém os dados de um agente específico. O ID
do agente é requerido no parâmetro da requisição.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 39704 | Número identificador do agente |
Resposta 200
{
"id": "39708",
"name": "kivya",
"login": "kivya@teste.com",
"status": false,
"companyID": "15333",
"photoLink": null,
"gender": "0",
"birthDate": null,
"email": "teste@teste.com",
"createdAt": "2019-05-26 23:34:53",
"updatedAt": "2019-06-06 10:02:43",
"whatsappID": "5488902",
"maxChats": "8",
"perfilID": "3",
"welcomeText": null,
"departmentsAccess": "1",
"viewedUpdates": "1",
"statusID": null,
"pushToken": null,
"osDevice": null,
"signatureEmail": null,
"autoLogin": null,
"autoDistribution": "0",
"lastAutoChatAt": null,
"active": "1",
"layoutType": "1",
"blocked": 0,
"office": null,
"confirmedEmail": "1",
"confirmEmailAlert": "",
"photo_url": null,
"type": 3,
"roleID": "3",
"phone": "557599999999",
"closedAlertInTrial": true,
"closedAlertExpiredTrial": false,
"perfilName": "Administrador",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"number": "557599999999",
"isActive": true,
"isAvailable": false,
"isOnline": false,
"lastSeen": "2019-06-06 10:14:00",
"isGuest": "Convidado"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/agents/{id}/status
Visualizar o status do agente
Obtém o status de um agent a partir de seu ID
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 39708 | Número identificador do agente |
Resposta 200
{
"id": null,
"name": "Unavailable",
"message": null,
"type": 0,
"createdAt": null,
"updatedAt": null,
"agentID": 34146,
"available": false
}
2
3
4
5
6
7
8
9
10
Resposta 404
{
"reason": "This message will show that doesn't exist result for your search."
}
2
3
POST/agents
Convidar um novo agente
Para convidar um novo agente, existem três atributos obrigatórios que devem ser passados no corpo da requisição, são eles: email, maxChats e type. Um agente é definido pelo seu perfil de acesso, sendo este representado pela atributo type que recebe um valor numérico, onde:
Nota: Um novo agente só será exibido no painel Huggy após aceitar o convite enviado por email.
Definição | Atributo | Valor |
---|---|---|
Agente | Type | 1 |
Gerente | Type | 2 |
Administrador | Type | 3 |
Atributo | Tipo | Descrição |
---|---|---|
string | Endereço de e-mail do agente | |
maxChats | int | Quantidade máxima de chats definida para o novo agente |
type | int | Número identificador do perfil de acesso do agente |
Exemplo da requisição
{
"email": "charles@test.com",
"maxChats": 50,
"type": 1
}
2
3
4
5
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
Resposta 500
{
"reason": "Agente já conectado"
}
2
3
PUT/agents/status
Atualizar o status do agente
Por padrão, um agente possui duas opções de status, tornando ele acessível ou não.
Para atualizar o status de um agente, uma propriedade ID
deve ser passada no corpo da requisição com um valor numérico que torne o agente Disponível 0
ou Indisponível -1
.
Atributo | Tipo | Descrição |
---|---|---|
id | int | Número identificador do status do agente |
Exemplo da requisição
"id": 0
Resposta 200
{
"statusId": null,
"available": true
}
2
3
4
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
PUT/agents/{id}
Atualizar um agente
Atualiza as informações de um agente. Algumas informações são obrigatórias, tais como: name e login.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17656128 | Número identificador do chat |
Atributos | Tipo | Descrição |
---|---|---|
name | string | Nome do agente |
login | string | Endereço de e-mail do agente |
phone | string | Número de telefone do agente |
Exemplo da requisição
{
"name": "John Doe",
"login": "teste2@doe.com",
"phone": 557599999999
}
2
3
4
5
Resposta 200
Requisição bem sucedida com o body vazio
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
DELETE/agents/{id}
Excluir um agente
Exclui um agente na plataforma Huggy.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 39704 | Número identificador do chat |
Resposta 204
Requisição bem sucedida com o body vazio
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Contatos
GET/contacts
Visualizar todos os contatos
Obtém os dados de todos os contatos cadastrados.
Resposta 200
[
{
"id": "7662964",
"whatsappID": "5560493",
"name": "Charles",
"companyID": "15333",
"email": "teste@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"groupID": null,
"address": "Ave Genésio Vargas",
"district": "Mantiqueira",
"state": "Minas Gerais",
"city": "Camanducaia",
"zipCode": "44000000",
"gender": "2",
"obs": null,
"birthDate": null,
"lastSeen": "2019-06-09 10:28:34",
"createdAt": "2019-06-09 10:29:34",
"updatedAt": "2019-06-09 10:29:34",
"status": "1",
"lastSync": null,
"syncWhatsapp": "0",
"lastChatID": null,
"tokens": "charles 7588888888 7533333333 teste@teste.com 7588888888",
"mobile": "7588888888",
"phone": "7533333333",
"talkChatType": 2,
"organizationID": null,
"blocked": "0",
"canAutoUpdatePhoto": "1",
"telegramID": null,
"tokenTelegram": null,
"telegramBotCustomerID": null,
"parentID": null,
"nameEmoji": "Charles",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"channelsSituation": {
"voip": true,
"messenger": false,
"widget": false,
"telegram": true,
"whatsapp": false,
"email": true,
"sms": true,
"telegramBot": false,
"whatsappApi": false
},
"customFields": [],
"custom_fields": [],
"number": "7588888888",
"type": 2,
"isEditable": true,
"messengerId": null,
"groups": [],
"organizations": [],
"organization": false,
"parent": null,
"links": []
},
{
"id": "7662931",
"whatsappID": "2911451",
"name": "Kivya Aguiar",
"companyID": "15333",
"email": "teste@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"groupID": null,
"address": "Ave Genésio Vargas",
"district": "Mantiqueira",
"state": "Minas Gerais",
"city": "Camanducaia",
"zipCode": "44000000",
"gender": "1",
"obs": null,
"birthDate": null,
"lastSeen": "2019-06-09 10:24:31",
"createdAt": "2019-06-09 10:25:31",
"updatedAt": "2019-06-09 10:25:31",
"status": "1",
"lastSync": null,
"syncWhatsapp": "0",
"lastChatID": null,
"tokens": "kivya aguiar 75999999999 7533333333 teste@teste.com 75999999999",
"mobile": "75999999999",
"phone": "7533333333",
"talkChatType": 2,
"organizationID": null,
"blocked": "0",
"canAutoUpdatePhoto": "1",
"telegramID": null,
"tokenTelegram": null,
"telegramBotCustomerID": null,
"parentID": null,
"nameEmoji": "Kivya Aguiar",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"channelsSituation": {
"voip": true,
"messenger": false,
"widget": false,
"telegram": true,
"whatsapp": false,
"email": true,
"sms": true,
"telegramBot": false,
"whatsappApi": false
},
"customFields": [],
"custom_fields": [],
"number": "75999999999",
"type": 2,
"isEditable": true,
"messengerId": null,
"groups": [],
"organizations": [],
"organization": false,
"parent": null,
"links": []
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
GET/contacts/{id}
Visualizar um contato
Obtém os dados de um contato específico a partir de seu ID.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 77663175 | Número identificador do contato |
Resposta 200
{
"id": "4771390",
"whatsappID": null,
"name": "2299951200033583",
"companyID": "11721",
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"groupID": null,
"address": null,
"district": null,
"state": null,
"city": null,
"zipCode": null,
"gender": null,
"obs": null,
"birthDate": null,
"lastSeen": "2019-01-16 15:48:38",
"createdAt": "2019-01-16 15:49:38",
"updatedAt": "2019-01-16 15:49:38",
"status": "1",
"lastSync": null,
"syncWhatsapp": "0",
"lastChatID": null,
"tokens": "2299951200033583",
"mobile": null,
"phone": null,
"talkChatType": 2,
"organizationID": null,
"blocked": "0",
"canAutoUpdatePhoto": "1",
"telegramID": null,
"tokenTelegram": null,
"telegramBotCustomerID": null,
"parentID": null,
"nameEmoji": "2299951200033583",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"channelsSituation": {
"voip": false,
"messenger": false,
"widget": false,
"telegram": false,
"whatsapp": false,
"email": false,
"sms": false,
"telegramBot": false,
"whatsappApi": false
},
"customFields": [],
"custom_fields": [],
"number": null,
"type": 2,
"isEditable": true,
"messengerId": null,
"groups": [],
"organizations": [],
"organization": false,
"parent": null,
"links": []
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/contacts/{id}/timeline
Visualizar a timeline de um contato
Obtém os dados da timeline de um contato a partir do seu ID
. Os dados da timeline são dados da criação do contato e de todos os eventos associados a ele a partir daí.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 7663175 | Número identificador do contato |
Resposta 200
[
{
"id": 8227983,
"icon": "comment",
"text": "Excelente cliente.",
"title": "Comentário",
"time": "09/07/2019 08:02:27",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"name": "Kivya",
"type": "comment.created",
"channel": null,
"department": null,
"duration": null,
"situation": null,
"chatID": null,
"deleted": false
},
{
"id": 8227983,
"icon": "email",
"text": "Um atendimento foi iniciado pelo cliente no canal E-mail.",
"title": "Chat iniciado",
"time": "07/07/2019 09:12:28",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"name": "Salomão",
"type": "chat.created",
"channel": "email",
"department": null,
"duration": null,
"situation": "in_chat",
"chatID": "19378164",
"deleted": false
},
{
"icon": "user",
"text": "O contato Salomão foi criado",
"title": "Contato criado",
"time": "07/07/2019 09:12:15",
"photo": "",
"name": ""
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/contacts/{id}/groups
Visualizar o grupo do contato
Obtém os dados do grupo ao qual o contato pertence.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 7663175 | Número identificador do contato |
Resposta 200
[
{
"id": "1851",
"name": "TOP 5",
"companyID": "15333",
"createdAt": "2019-06-10 12:14:16",
"updatedAt": "2019-06-10 12:14:16",
"status": "1",
"nameEmoji": "TOP 5"
}
]
2
3
4
5
6
7
8
9
10
11
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
GET/contacts/{id}/organizations
Visualizar a organização do contato
Obtém os dados da organização a qual o contato pertence.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 7663175 | Número identificador do contato |
Resposta 200
[
{
"id": "18693",
"name": "Huggy",
"cnpj": null,
"ie": null,
"address": null,
"state": null,
"city": null,
"country": null,
"district": null,
"zipCode": null,
"createdAt": "2019-06-11 16:08:36",
"updatedAt": "2019-06-11 16:08:36",
"companyID": "12025",
"status": "1",
"description": "Tecnologia",
"observation": null,
"domains": "huggy.io",
"phone": "7533333333",
"photo": null,
"nameEmoji": "Huggy",
"customFields": []
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/contacts/{id}/customFields
Visualizar um campo personalizado
Obtém os dados de um campo personalizado criado previamente para a utilização de informações adicionais no cadastro do contato.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 7663175 | Número identificador do contato |
Resposta 200
[
{
"id": "487",
"companyID": "12025",
"name": "email alternativo",
"description": "segunda opção de email",
"fieldType": "email",
"payload": null,
"entityID": "1",
"validation": "[\"huggy.validations.email\"]",
"createdAt": "2019-06-11 16:41:31",
"updatedAt": "2019-06-11 16:41:31",
"deletedAt": null,
"active": "1",
"status": "1",
"token": "email_alternativo_customer",
"inputType": "input",
"value": "alternativetest@test.com"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/contacts/{id}/linkedContacts
Visualizar associação de contatos
Obtém os dados do contato associado. A associação define que um contato pode ser considerado contato principal de outro contato.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 7663175 | Número identificador do contato |
Resposta 200
[
{
"id": "5081373",
"whatsappID": "3951665",
"name": "Karl Edward",
"companyID": "12025",
"email": "karledward@test.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"groupID": null,
"address": "",
"district": "",
"state": null,
"city": "",
"zipCode": "",
"gender": "2",
"obs": null,
"birthDate": null,
"lastSeen": "2019-06-11 17:38:50",
"createdAt": "2019-06-11 17:39:50",
"updatedAt": "2019-06-11 17:39:50",
"status": "1",
"lastSync": null,
"syncWhatsapp": "0",
"lastChatID": null,
"tokens": "karl edward 7588888888 karledward@test.com 7588888888",
"mobile": "7588888888",
"phone": null,
"talkChatType": 2,
"organizationID": null,
"blocked": "0",
"canAutoUpdatePhoto": "1",
"telegramID": null,
"tokenTelegram": null,
"telegramBotCustomerID": null,
"parentID": null,
"nameEmoji": "Karl Edward",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"channelsSituation": {
"voip": true,
"messenger": false,
"widget": false,
"telegram": true,
"whatsapp": false,
"email": true,
"sms": true,
"telegramBot": false,
"whatsappApi": false
},
"customFields": [],
"custom_fields": [],
"number": "7588888888",
"type": 2,
"isEditable": true,
"messengerId": null,
"groups": [],
"organizations": [],
"organization": false,
"parent": null,
"links": [
{
"id": 5081372,
"name": "Charles Edward",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
}
]
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Response 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
POST/contacts
Criar contato
Para criar um novo contato, name
e email
serão requeridos
Atributos | Tipo | Descrição |
---|---|---|
name | string | Nome do contato |
string | Endereço de e-mail do contato |
Exemplo da requisição
{
"name": "Charles Edware",
"email": "teste3@teste.com"
}
2
3
4
Resposta 201
{
"id": "7663175",
"whatsappID": null,
"name": "Edward",
"companyID": "15333",
"email": "teste@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"groupID": null,
"address": null,
"district": null,
"state": null,
"city": null,
"zipCode": null,
"gender": null,
"obs": null,
"birthDate": null,
"lastSeen": "2019-06-09 10:56:01",
"createdAt": "2019-06-09 10:57:01",
"updatedAt": null,
"status": 1,
"lastSync": null,
"syncWhatsapp": null,
"lastChatID": null,
"tokens": null,
"mobile": null,
"phone": null,
"talkChatType": 2,
"organizationID": null,
"blocked": null,
"canAutoUpdatePhoto": null,
"telegramID": null,
"tokenTelegram": null,
"telegramBotCustomerID": null,
"parentID": null,
"nameEmoji": "Edward",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"channelsSituation": {
"voip": false,
"messenger": false,
"widget": false,
"telegram": false,
"whatsapp": false,
"email": true,
"sms": false,
"telegramBot": false,
"whatsappApi": false
},
"customFields": [],
"custom_fields": [],
"number": null,
"type": 2,
"isEditable": true,
"messengerId": null,
"groups": [],
"organizations": [],
"organization": false,
"parent": null,
"links": []
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
POST/timeline/createComment/{id}
Criar comentário na linha do tempo
Cria um comentário na linha do tempo do contato a partir de seu ID
. Comentários contribuem para relatar atividades com o cliente, construindo assim um histórico de seus atendimentos.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 8227983 | Número identificador do contato |
Atributo | Tipo | Descrição |
---|---|---|
comment | string | Comentário inserido pelo agente no painel do contato |
Exemplo da requisição
{
"comment": "Aguardando documentos"
}
2
3
Resposta 201
{
"id": 7740752,
"icon": "comment",
"text": "No utimo atendimento o cliente demonstrou interesse em adquirir um plano com maiores recursos",
"title": "Comentário",
"time": "12/06/2019 15:55:27",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"name": "Teste",
"type": "comment.created",
"channel": null,
"department": null,
"duration": null,
"situation": null,
"chatID": null,
"deleted": false
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
PUT/contacts/{id}
Atualizar um contato
Atualiza um contato a partir do seu ID
.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 7663175 | Número identificador do contato |
Atributos | Tipo | Descrição |
---|---|---|
name | string | Nome do contato |
string | Endereço de e-mail do contato |
Exemplo da requisição
{
"name": "Edward",
"email": "newemailcharles@teste.com"
}
2
3
4
Resposta 200
{
"id": "7663175",
"whatsappID": null,
"name": "Charles Edward",
"companyID": "15333",
"email": "newemailteste@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"groupID": null,
"address": null,
"district": null,
"state": null,
"city": null,
"zipCode": null,
"gender": null,
"obs": null,
"birthDate": null,
"lastSeen": null,
"createdAt": null,
"updatedAt": null,
"status": 1,
"lastSync": null,
"syncWhatsapp": null,
"lastChatID": null,
"tokens": null,
"mobile": null,
"phone": null,
"talkChatType": 2,
"organizationID": null,
"blocked": null,
"canAutoUpdatePhoto": null,
"telegramID": null,
"tokenTelegram": null,
"telegramBotCustomerID": null,
"parentID": null,
"nameEmoji": "charles Edward",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"channelsSituation": {
"voip": false,
"messenger": false,
"widget": false,
"telegram": false,
"whatsapp": false,
"email": true,
"sms": false,
"telegramBot": false,
"whatsappApi": false
},
"customFields": [],
"custom_fields": [],
"number": null,
"type": 2,
"isEditable": true,
"messengerId": null,
"groups": [],
"organizations": [],
"organization": false,
"parent": null,
"links": []
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
DELETE/contacts/{id}
Excluir um contato
Exclui um contato a partir do seu ID
.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 7663175 | Número identificador do contato |
Resposta 204
Requisição bem sucedida com o body vazio
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Custom Fields
GET/customFields
Visualizar todos os campos personalizados
Obtém a lista de todos os campos personalizados. Campos personalizados são utilizados para inserir informações adicionais em um contato.
Resposta 200
[
{
"id": "906",
"companyID": "12043",
"name": "segunda opção de email",
"description": "segunda opção de email",
"fieldType": "email",
"payload": null,
"entityID": "1",
"validation": "[\"huggy.validations.email\"]",
"createdAt": "2019-06-12 17:10:21",
"updatedAt": "2019-06-12 17:10:21",
"deletedAt": null,
"active": "1",
"status": "1",
"token": "segunda_opcao_de_email_customer",
"inputType": "input"
},
{
"id": "907",
"companyID": "12043",
"name": "último endereço",
"description": "último endereço",
"fieldType": "string",
"payload": null,
"entityID": "3",
"validation": "[\"huggy.validations.string\"]",
"createdAt": "2019-06-12 17:11:48",
"updatedAt": "2019-06-12 17:11:48",
"deletedAt": null,
"active": "1",
"status": "1",
"token": "ultimo_endereco_organization",
"inputType": "input"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Channel
GET/channels/{channel}
Visualizar um canal
Obtém as informações pertencentes a um canal. Informe no parâmetro de url
o nome do canal.
A consulta pode ser nos canais:
- messenger
- telegram
- telegram-bot
- whatsapp-business-api
- widget
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
Canal | string | messenger | Nome identificador do aplicativo |
Response 200
[
{
"id": "24034",
"name": "Huggy",
"companyID": "11721",
"createdAt": "2019-08-22 16:30:57",
"updatedAt": "2019-10-22 15:28:22",
"uuid": "257027755xxxxxxx",
"likes": "1",
"url": "https://www.facebook.com/Huggy-2570277559710145/",
"subscribed": "1",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"status": "1",
"flowCreateChatID": null,
"flowReopenChatID": null,
"flowCloseChatID": null,
"uuid": "b565d583-1276-4a2c-904b-a03aaxxxxxxx",
"channelType": "Messenger",
"inputFlowID": null,
"outputFlowID": null
},
{
"id": "24147",
"name": "Orient Star",
"companyID": "11721",
"createdAt": "2019-10-18 11:02:05",
"updatedAt": "2019-10-18 11:02:13",
"uuid": "102113221161458",
"likes": "2",
"url": "https://www.facebook.com/Orient-Star-102113221161458/",
"subscribed": "1",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"status": "1",
"flowCreateChatID": null,
"flowReopenChatID": null,
"flowCloseChatID": null,
"uuid": "69be1ddc-d702-449c-900e-e9cf7xxxxxxx",
"channelType": "Messenger",
"inputFlowID": null,
"outputFlowID": null
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Response 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
GET/channels/messenger/{id}
Obtém os dados de uma fanpage
Obtém os dados de uma fanpage do messenger integrada na plataforma Huggy.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 24030 | Número identificador da fanpage |
Resposta 200
{
"id": "24030",
"name": "HuggyTeste",
"companyID": "11721",
"createdAt": "2019-08-22 16:30:57",
"updatedAt": "2019-08-22 16:30:57",
"uid": "333323990763912",
"likes": null,
"url": "https://www.facebook.com/HuggyTeste-333323990763912/",
"subscribed": null,
"photo": null,
"status": "1",
"flowCreateChatID": null,
"flowReopenChatID": null,
"flowCloseChatID": null,
"uuid": "9124670c-7895-4d1b-ad8d-40d36xxxxxxx",
"channelType": "Messenger",
"inputFlowID": null,
"outputFlowID": null
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Departamentos
GET/departments
Visualizar todos os departamentos
Obtém a lista de todos os departamentos criados na empresa.
Nota: Este recurso possui um parâmetro opcional que retorna todos os registros encontrados, isto é: o total de registros em uma ou mais páginas.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
allPages | boolean | true | Parâmetro que retornará todos os registros se seu valor for verdadeiro |
Resposta 200
[
{
"id": 25954,
"name": "1 - Financeiro",
"parentId": null
},
{
"id": 25955,
"name": "2 - Almoxarifado",
"parentId": null
},
{
"id": 25956,
"name": "3 - Vendas",
"parentId": null
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/departments/parents
Visualizar todos os departamentos pai
Obtém a lista de todos os departamentos Pai
. Departamentos pai são departamentos que possuem sub-departamentos.
Resposta 200
[
{
"id": 25954,
"name": "1 - Financeiro"
},
{
"id": 25955,
"name": "2 - Almoxarifado"
}
]
2
3
4
5
6
7
8
9
10
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
GET/departments/{id}
Visualizar um departamento
Obtém as informações do departamento cadastrado, a partir do ID
do departamento.
Nota: Para obter o
ID
de todos os departamentos cadastrados, por favor, Clique Aqui!
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 25955 | Número identificador do departamento |
Resposta 200
{
"id": "25955",
"name": "Almoxarifado",
"companyID": "12043",
"status": "1",
"order": "1",
"color": "#e36c09",
"welcomeText": "Você escolheu o departamento de \"Almoxarifado\".",
"hourText": null,
"fatherID": null,
"botID": null,
"promoID": null,
"chatFormID": null,
"tags": "Almoxarifado, Depósito, Armazém",
"channelWhatsapp": "1",
"channelTelegram": "1",
"channelMessenger": "1",
"channelWidget": "1",
"channelPhone": "1",
"channelTelegramBot": "1"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Tabulações
GET/tabulations
Visualizar todas as tabulações
Obtém a lista de todas as tabulações criadas para melhor identificar o contexto de um chat.
Nota: Este recurso possui um parâmetro opcional que retorna todos os registros encontrados, isto é: o total de registros em uma ou mais páginas.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
allPages | boolean | true | Parâmetro que retornará todos os registros se seu valor for verdadeiro |
Resposta 200
[
{
"id": 12055,
"name": "Trocas"
},
{
"id": 12054,
"name": "Prazo de Entrega"
},
{
"id": 12053,
"name": "Dúvidas"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
GET/tabulations/{id}
Visualizar uma tabulação
Obtém os dados de uma tabulação a partir do seu ID
.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 12054 | Número identificador da tabulação |
Resposta 200
{
"id": "12054",
"companyID": "12043",
"name": "Prazo de Entrega",
"createdAt": "2019-06-13 09:13:44",
"updatedAt": "2019-06-13 09:13:44",
"status": "1",
"dao": null,
"remapped": []
}
2
3
4
5
6
7
8
9
10
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Atalhos
GET/shortcuts
Visualizar todos os atalhos
Obtém a lista de todos atalhos utilizados na plataforma Huggy. Atalhos são utilizados para o envio de textos pré-definidos, fotos, imagens e outros arquivos.
Resposta 200
[
{
"id": "17229",
"name": "Mensagem de boas vindas",
"key": "bvvendas",
"file": null,
"text": "Olá! Seja bem vindo ao departamento vendas!"
},
{
"id": "17228",
"name": "Mensagem de boas vindas",
"key": "bvalmoxarifado",
"file": null,
"text": "Olá! Seja bem vindo ao departamento Almoxarifado!"
},
{
"id": "17227",
"name": "Mensagem de boas vindas",
"key": "bvfinanceiro",
"file": null,
"text": "Olá! Seja bem vindo ao departamento financeiro!"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
GET/shortcuts/{id}
Visualizar um atalho
Obtém os dados de um atalho a partir de seu ID
.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 17229 | Número identificador do atalho |
Resposta 200
[
{
"id": "17229",
"name": "Mensagem de boas vindas",
"key": "bvvendas",
"file": null,
"text": "Olá! Seja bem vindo ao departamento vendas!"
}
]
2
3
4
5
6
7
8
9
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Status
GET/status
Visualizar todos os status
Obtém a lista dos status criados pelos agentes. O status de um agente corresponde a uma condição em que ele se encontra, podendo ele estar Disponível ou Indisponível.
Resposta 200
[
{
"id": "1691",
"name": "Ausente",
"message": "Olá! Logo estarei de volta.",
"type": "0",
"createdAt": "2019-06-13 11:59:56",
"updatedAt": "2019-06-13 12:00:16",
"agentID": "34976",
"available": false
},
{
"id": "1690",
"name": "Horário de Almoço",
"message": "Olá! Nosso horário de almoço é de 12h às 13h.",
"type": "0",
"createdAt": "2019-06-13 11:58:35",
"updatedAt": "2019-06-13 12:00:06",
"agentID": "34976",
"available": false
},
{
"id": "1689",
"name": "Reunião",
"message": "Olá! Estamos em reunião. Logo retornaremos.",
"type": "0",
"createdAt": "2019-06-13 11:57:21",
"updatedAt": "2019-06-13 11:57:21",
"agentID": "34976",
"available": false
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Workflow
GET/workflows
Visualizar todos os workflows
Obtém a lista de todos os workflows
juntamente com suas respectivas etapas. Workflows são fluxos de trabalho que podem ser criados para dirigir as etapas dos atendimentos
Resposta 200
[
{
"id": "5656",
"companyID": "12043",
"name": "Ciclo de Entrega",
"createdAt": "2019-06-13 15:05:41",
"updatedAt": "2019-06-13 15:09:10",
"status": "1",
"fatherID": null,
"color": "#4f81bd",
"steps": [
{
"id": "5657",
"companyID": "12043",
"name": "Preparo de Material",
"createdAt": "2019-06-13 15:06:43",
"updatedAt": "2019-06-13 15:06:43",
"status": "1",
"fatherID": "5656",
"color": null,
"steps": []
},
{
"id": "5658",
"companyID": "12043",
"name": "Coleta de Material",
"createdAt": "2019-06-13 15:06:58",
"updatedAt": "2019-06-13 15:06:58",
"status": "1",
"fatherID": "5656",
"color": null,
"steps": []
},
{
"id": "5659",
"companyID": "12043",
"name": "Envio ao Destinatário",
"createdAt": "2019-06-13 15:07:26",
"updatedAt": "2019-06-13 15:07:26",
"status": "1",
"fatherID": "5656",
"color": null,
"steps": []
},
{
"id": "5660",
"companyID": "12043",
"name": "Feedback Entregue",
"createdAt": "2019-06-13 15:08:12",
"updatedAt": "2019-06-13 15:08:12",
"status": "1",
"fatherID": "5656",
"color": null,
"steps": []
}
]
},
{
"id": "5651",
"companyID": "12043",
"name": "ciclo de validação de vendas",
"createdAt": "2019-06-13 14:36:43",
"updatedAt": "2019-06-13 14:36:43",
"status": "1",
"fatherID": null,
"color": "#4f81bd",
"steps": [
{
"id": "5652",
"companyID": "12043",
"name": "Solicitação Aberta",
"createdAt": "2019-06-13 14:37:02",
"updatedAt": "2019-06-13 14:39:53",
"status": "1",
"fatherID": "5651",
"color": null,
"steps": []
},
{
"id": "5653",
"companyID": "12043",
"name": "Validando Informações",
"createdAt": "2019-06-13 14:39:37",
"updatedAt": "2019-06-13 14:40:22",
"status": "1",
"fatherID": "5651",
"color": null,
"steps": []
},
{
"id": "5654",
"companyID": "12043",
"name": "Solicitação Atendida",
"createdAt": "2019-06-13 14:40:57",
"updatedAt": "2019-06-13 14:40:57",
"status": "1",
"fatherID": "5651",
"color": null,
"steps": []
},
{
"id": "5655",
"companyID": "12043",
"name": "Solicitação Negada",
"createdAt": "2019-06-13 14:41:13",
"updatedAt": "2019-06-13 14:41:13",
"status": "1",
"fatherID": "5651",
"color": null,
"steps": []
}
]
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
GET/workflows/{id}
Visualizar um workflow
Obtém os dados de um workflow a partir de seu ID
.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 5656 | Número identificador do workflow |
Resposta 200
{
"id": "5656",
"companyID": "12043",
"name": "Ciclo de Entrega",
"createdAt": "2019-06-13 15:05:41",
"updatedAt": "2019-06-13 15:09:10",
"status": "1",
"fatherID": null,
"color": "#4f81bd",
"steps": [
{
"id": "5657",
"companyID": "12043",
"name": "Preparo de Material",
"createdAt": "2019-06-13 15:06:43",
"updatedAt": "2019-06-13 15:06:43",
"status": "1",
"fatherID": "5656",
"color": null,
"steps": []
},
{
"id": "5658",
"companyID": "12043",
"name": "Coleta de Material",
"createdAt": "2019-06-13 15:06:58",
"updatedAt": "2019-06-13 15:06:58",
"status": "1",
"fatherID": "5656",
"color": null,
"steps": []
},
{
"id": "5659",
"companyID": "12043",
"name": "Envio ao Destinatário",
"createdAt": "2019-06-13 15:07:26",
"updatedAt": "2019-06-13 15:07:26",
"status": "1",
"fatherID": "5656",
"color": null,
"steps": []
},
{
"id": "5660",
"companyID": "12043",
"name": "Feedback Entregue",
"createdAt": "2019-06-13 15:08:12",
"updatedAt": "2019-06-13 15:08:12",
"status": "1",
"fatherID": "5656",
"color": null,
"steps": []
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Bots
GET/bots
Visualizar todos os bots
Obtém a lista de todos os bots
criados na plataforma Huggy
Resposta 200
[
{
"id": 2926,
"name": "HuggyBot"
},
{
"id": 2925,
"name": "HuggyGirl"
}
]
2
3
4
5
6
7
8
9
10
GET/bots/{id}
Visualizar um bot
Obtém os dados detalhados de um bot a partir de seu ID
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 2926 | Número identificador do bot |
Resposta 200
{
"id": "2926",
"companyID": "15691",
"name": "HuggyBot",
"uid": null,
"createdAt": "2019-06-17 08:40:06",
"updatedAt": "2019-06-17 08:41:58",
"status": "1",
"description": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"phone": null,
"email": "carlos@teste.com",
"birthday": "2019-06-17",
"transferMessage": "Você será transferido para um outro atendente.",
"welcomeMessage": "Olá, Seja bem vindo a Huggy.",
"maxErrors": "100",
"engineID": "3",
"apiAiLang": "pt-BR",
"apiAiClientToken": "d7d1d9daec634e598ea9ccd59acf7693",
"apiAiDeveloperToken": "9555d63499614423859ade081ff74da4",
"watsonUsername": null,
"watsonPassword": null,
"watsonWorkspace": null,
"watsonAcceptEmptyIntents": "0",
"botServiceSecret": null,
"botServiceBotHandle": null
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Virtual Agents
GET/virtualAgents
Visualizar todos os agentes virtuais
Obtém a lista de todos os agentes virtuais cadastrados na plataforma Huggy.
Resposta 200
[
{
"id": 784,
"name": "huggyboy",
"email": "huggyboy@test.com"
},
{
"id": 785,
"name": "huggygirl",
"email": "huggygirl@test.com"
},
{
"id": 782,
"name": "huggyhank",
"email": "hugggyhenk@test.com"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
GET/virtualAgents/{id}
Visualizar um agente virtual
Obtém os dados de um agente virtual a partir do seu ID
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 784 | Número identificador do agente virtual |
Resposta 200
{
"id": "784",
"companyID": "15691",
"name": "huggyboy",
"mobile": "557592731111",
"email": "huggyboy@test.com",
"phone": null,
"photoLink": "https://c.pzw.io/img/avatar-user-boy.jpg",
"createdAt": "2019-06-17 17:11:13",
"updatedAt": "2019-06-17 17:11:13",
"status": "1"
}
2
3
4
5
6
7
8
9
10
11
12
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Projects
GET/projects
Visualizar todos os projetos
Obtém a lista de todos os projetos criados na plataforma Huggy. Cada projeto é composto por um ou mais flows.
Nota: Além dos projetos e seus respectivos flows, essa ação retornará as variáveis de contexto padrão do sistema.
Resposta 200
[
{
"id": "487704",
"companyID": "15691",
"name": "Finalizações",
"createdBy": "39708",
"status": "1",
"createdAt": "2019-06-16 22:04:19",
"updatedAt": "2019-06-18 06:51:07",
"variables": {
"Flows do projeto": [],
"huggy": {
"time_hello": "huggy.time_hello",
"chat": {
"id": "huggy.chat.id",
"created_at": "huggy.chat.created_at",
"department": {
"id": "huggy.chat.department.id",
"name": "huggy.chat.department.name",
"order": "huggy.chat.department.order"
},
"tabulation": {
"id": "huggy.chat.tabulation.id",
"name": "huggy.chat.tabulation.name"
},
"contact": {
"id": "huggy.chat.contact.id",
"name": "huggy.chat.contact.name",
"created_at": "huggy.chat.contact.created_at",
"first_name": "huggy.chat.contact.first_name",
"second_name": "huggy.chat.contact.second_name",
"mobile": "huggy.chat.contact.mobile",
"email": "huggy.chat.contact.email",
"organization": {
"id": "huggy.chat.contact.organization.id",
"name": "huggy.chat.contact.organization.name",
"description": "huggy.chat.contact.organization.description"
}
},
"company": {
"id": "huggy.chat.company.id",
"name": "huggy.chat.company.name",
"created_at": "huggy.chat.company.created_at",
"phone": "huggy.chat.company.phone"
},
"agent": {
"id": "huggy.chat.agent.id",
"name": "huggy.chat.agent.name",
"email": "huggy.chat.agent.email",
"created_at": "huggy.chat.agent.created_at",
"phone": "huggy.chat.agent.phone"
},
"queue_position": "huggy.chat.queue_position",
"workflow_id": "huggy.chat.workflow_id",
"workflow_step_id": "huggy.chat.workflow_step_id",
"url": "huggy.chat.url",
"channel_type": "huggy.chat.channel_type",
"current_message": "huggy.chat.current_message"
}
}
},
"variables_settings": [],
"hasFlows": true
},
{
"id": "487703",
"companyID": "15691",
"name": "Inicializações",
"createdBy": "39708",
"status": "1",
"createdAt": "2019-06-16 20:58:29",
"updatedAt": "2019-06-18 06:51:26",
"variables": {
"Flows do projeto": [],
"huggy": {
"time_hello": "huggy.time_hello",
"chat": {
"id": "huggy.chat.id",
"created_at": "huggy.chat.created_at",
"department": {
"id": "huggy.chat.department.id",
"name": "huggy.chat.department.name",
"order": "huggy.chat.department.order"
},
"tabulation": {
"id": "huggy.chat.tabulation.id",
"name": "huggy.chat.tabulation.name"
},
"contact": {
"id": "huggy.chat.contact.id",
"name": "huggy.chat.contact.name",
"created_at": "huggy.chat.contact.created_at",
"first_name": "huggy.chat.contact.first_name",
"second_name": "huggy.chat.contact.second_name",
"mobile": "huggy.chat.contact.mobile",
"email": "huggy.chat.contact.email",
"organization": {
"id": "huggy.chat.contact.organization.id",
"name": "huggy.chat.contact.organization.name",
"description": "huggy.chat.contact.organization.description"
}
},
"company": {
"id": "huggy.chat.company.id",
"name": "huggy.chat.company.name",
"created_at": "huggy.chat.company.created_at",
"phone": "huggy.chat.company.phone"
},
"agent": {
"id": "huggy.chat.agent.id",
"name": "huggy.chat.agent.name",
"email": "huggy.chat.agent.email",
"created_at": "huggy.chat.agent.created_at",
"phone": "huggy.chat.agent.phone"
},
"queue_position": "huggy.chat.queue_position",
"workflow_id": "huggy.chat.workflow_id",
"workflow_step_id": "huggy.chat.workflow_step_id",
"url": "huggy.chat.url",
"channel_type": "huggy.chat.channel_type",
"current_message": "huggy.chat.current_message"
}
}
},
"variables_settings": [],
"hasFlows": true
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
GET/projects/{id}
Visualizar um projeto
Obtém os dados de um projeto a partir de seu ID
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 487704 | Número identificador do projeto |
Resposta 200
{
"project": {
"id": "487704",
"companyID": "15691",
"name": "Finalizações",
"createdBy": "39708",
"status": "1",
"createdAt": "2019-06-16 22:04:19",
"updatedAt": "2019-06-18 06:51:07",
"variables": {
"Flows do projeto": [],
"huggy": {
"time_hello": "huggy.time_hello",
"chat": {
"id": "huggy.chat.id",
"created_at": "huggy.chat.created_at",
"department": {
"id": "huggy.chat.department.id",
"name": "huggy.chat.department.name",
"order": "huggy.chat.department.order"
},
"tabulation": {
"id": "huggy.chat.tabulation.id",
"name": "huggy.chat.tabulation.name"
},
"contact": {
"id": "huggy.chat.contact.id",
"name": "huggy.chat.contact.name",
"created_at": "huggy.chat.contact.created_at",
"first_name": "huggy.chat.contact.first_name",
"second_name": "huggy.chat.contact.second_name",
"mobile": "huggy.chat.contact.mobile",
"email": "huggy.chat.contact.email",
"organization": {
"id": "huggy.chat.contact.organization.id",
"name": "huggy.chat.contact.organization.name",
"description": "huggy.chat.contact.organization.description"
}
},
"company": {
"id": "huggy.chat.company.id",
"name": "huggy.chat.company.name",
"created_at": "huggy.chat.company.created_at",
"phone": "huggy.chat.company.phone"
},
"agent": {
"id": "huggy.chat.agent.id",
"name": "huggy.chat.agent.name",
"email": "huggy.chat.agent.email",
"created_at": "huggy.chat.agent.created_at",
"phone": "huggy.chat.agent.phone"
},
"queue_position": "huggy.chat.queue_position",
"workflow_id": "huggy.chat.workflow_id",
"workflow_step_id": "huggy.chat.workflow_step_id",
"url": "huggy.chat.url",
"channel_type": "huggy.chat.channel_type",
"current_message": "huggy.chat.current_message"
}
}
},
"variables_settings": [],
"hasFlows": true
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
POST/projects
Criar um projeto
Cria um projeto passando no corpo da requisição o atributo name
e seu valor desejado
Atributo | Tipo | Descrição |
---|---|---|
name | string | Nome do projeto a ser criado |
Exemplo da requisição
{
"name": "Eletrônicos"
}
2
3
Resposta 200
{
"project": {
"id": "487742",
"companyID": "15691",
"name": "Eletrônicos",
"createdBy": "39708",
"status": 1,
"createdAt": "2019-06-18 11:03:38",
"updatedAt": "2019-06-18 11:03:38",
"variables": {
"Flows do projeto": [],
"huggy": {
"time_hello": "huggy.time_hello",
"chat": {
"id": "huggy.chat.id",
"created_at": "huggy.chat.created_at",
"department": {
"id": "huggy.chat.department.id",
"name": "huggy.chat.department.name",
"order": "huggy.chat.department.order"
},
"tabulation": {
"id": "huggy.chat.tabulation.id",
"name": "huggy.chat.tabulation.name"
},
"contact": {
"id": "huggy.chat.contact.id",
"name": "huggy.chat.contact.name",
"created_at": "huggy.chat.contact.created_at",
"first_name": "huggy.chat.contact.first_name",
"second_name": "huggy.chat.contact.second_name",
"mobile": "huggy.chat.contact.mobile",
"email": "huggy.chat.contact.email",
"organization": {
"id": "huggy.chat.contact.organization.id",
"name": "huggy.chat.contact.organization.name",
"description": "huggy.chat.contact.organization.description"
}
},
"company": {
"id": "huggy.chat.company.id",
"name": "huggy.chat.company.name",
"created_at": "huggy.chat.company.created_at",
"phone": "huggy.chat.company.phone"
},
"agent": {
"id": "huggy.chat.agent.id",
"name": "huggy.chat.agent.name",
"email": "huggy.chat.agent.email",
"created_at": "huggy.chat.agent.created_at",
"phone": "huggy.chat.agent.phone"
},
"queue_position": "huggy.chat.queue_position",
"workflow_id": "huggy.chat.workflow_id",
"workflow_step_id": "huggy.chat.workflow_step_id",
"url": "huggy.chat.url",
"channel_type": "huggy.chat.channel_type",
"current_message": "huggy.chat.current_message"
}
}
},
"variables_settings": [],
"hasFlows": false
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
PUT/projects/{id}
Atualizar o nome do projeto
Atualiza o nome do projeto passando no corpo da requisição o atributo name
e seu valor desejado
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 487704 | Número identificador do projeto |
Atributo | Tipo | Descrição |
---|---|---|
name | string | Novo nome para o projeto |
Exemplo da requisição
{
"name": "Eletrônicos"
}
2
3
Resposta 200
{
"project": {
"id": "487704",
"companyID": "15691",
"name": "Visitantes",
"createdBy": "39708",
"status": 1,
"createdAt": "2019-06-16 22:04:19",
"updatedAt": "2019-06-18 11:04:46",
"variables": {
"Flows do projeto": [],
"huggy": {
"time_hello": "huggy.time_hello",
"chat": {
"id": "huggy.chat.id",
"created_at": "huggy.chat.created_at",
"department": {
"id": "huggy.chat.department.id",
"name": "huggy.chat.department.name",
"order": "huggy.chat.department.order"
},
"tabulation": {
"id": "huggy.chat.tabulation.id",
"name": "huggy.chat.tabulation.name"
},
"contact": {
"id": "huggy.chat.contact.id",
"name": "huggy.chat.contact.name",
"created_at": "huggy.chat.contact.created_at",
"first_name": "huggy.chat.contact.first_name",
"second_name": "huggy.chat.contact.second_name",
"mobile": "huggy.chat.contact.mobile",
"email": "huggy.chat.contact.email",
"organization": {
"id": "huggy.chat.contact.organization.id",
"name": "huggy.chat.contact.organization.name",
"description": "huggy.chat.contact.organization.description"
}
},
"company": {
"id": "huggy.chat.company.id",
"name": "huggy.chat.company.name",
"created_at": "huggy.chat.company.created_at",
"phone": "huggy.chat.company.phone"
},
"agent": {
"id": "huggy.chat.agent.id",
"name": "huggy.chat.agent.name",
"email": "huggy.chat.agent.email",
"created_at": "huggy.chat.agent.created_at",
"phone": "huggy.chat.agent.phone"
},
"queue_position": "huggy.chat.queue_position",
"workflow_id": "huggy.chat.workflow_id",
"workflow_step_id": "huggy.chat.workflow_step_id",
"url": "huggy.chat.url",
"channel_type": "huggy.chat.channel_type",
"current_message": "huggy.chat.current_message"
}
}
},
"variables_settings": [],
"hasFlows": true
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Resposta 400
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
DELETE/projects/{id}
Excluir um projeto
Exclui um projeto a partir do seu ID
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 487704 | Número identificador do projeto |
Resposta 200
{
"status": true
}
2
3
Resposta 404
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
GET/projects/{id}/flows
Visualizar todos os flows de um projeto
Obtém a lista de todos os flows de um projeto juntamente com suas ações configuradas.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
projectId | number | 487704 | Número identificador do projeto |
Resposta 200
[
{
"id": "30124",
"token": "dfd5a68d-31d4-4261-b659-e5b4c9b26a53",
"description": "Boas Vindas",
"createdAt": "2019-06-16 20:58:43",
"updatedAt": "2019-06-18 06:57:46",
"status": "1",
"companyID": "15691",
"createdBy": null,
"importStatus": "0",
"projectID": "487703",
"importedBy": null,
"actions": [
{
"id": "101122",
"type": "huggy.action.send.message",
"value": "{\"content\":[\"Ol\\u00e1! Seja bem vindo ao nosso site.\\n\",\"Gostaria de falar com um de nossos atendentes?\\n\",\"Ol\\u00e1! Seja bem vindo ao nosso site.\"],\"typing\":false,\"content_type\":\"0\"}",
"order": "0",
"createdAt": "2019-06-16 21:56:03",
"updatedAt": "2019-06-18 06:57:46",
"status": "1",
"companyID": "15691",
"automationFlowID": "30124",
"label": "APP_LABEL_ACTION_SEND_MESSAGE",
"fullValue": {
"content": [
"Olá! Seja bem vindo ao nosso site.\n",
"Gostaria de falar com um de nossos atendentes?\n",
"Olá! Seja bem vindo ao nosso site."
],
"type": {
"type": "0"
},
"typing": false,
"index": 0
}
},
{
"id": "101123",
"type": "huggy.action.send.message",
"value": "{\"content\":[\"Gostaria de falar com um de nossos atendentes?\"],\"typing\":false,\"content_type\":\"0\"}",
"order": "1",
"createdAt": "2019-06-16 21:56:03",
"updatedAt": "2019-06-18 06:57:46",
"status": "1",
"companyID": "15691",
"automationFlowID": "30124",
"label": "APP_LABEL_ACTION_SEND_MESSAGE",
"fullValue": {
"content": [
"Gostaria de falar com um de nossos atendentes?"
],
"type": {
"type": "0"
},
"typing": false,
"index": 0
}
},
{
"id": "101766",
"type": "huggy.action.conditional",
"value": "{\"action\":{\"type\":\"huggy.action.transfer.to.agent\",\"label\":\"APP_LABEL_ACTION_TRANSFER_TO_AGENT\",\"id\":\"\",\"companyID\":15691,\"value\":39704,\"fullValue\":[],\"order\":0},\"conditions\":[{\"type\":\"huggy.conditional.variable\",\"operator\":\"=\",\"value\":{\"key\":\"pTransfAgent\",\"value\":\"SIM\",\"customVariable\":true}}]}",
"order": "2",
"createdAt": "2019-06-18 06:57:46",
"updatedAt": "2019-06-18 06:57:46",
"status": "1",
"companyID": "15691",
"automationFlowID": "30124",
"label": "APP_LABEL_ACTION_CONDITIONAL",
"fullValue": {
"id": "39704",
"name": "Aguiar",
"login": "carlos@teste.com",
"status": "1",
"companyID": "15333",
"photoLink": null,
"gender": "0",
"birthDate": null,
"email": "carlos@teste.com",
"createdAt": "2019-05-26 17:48:14",
"updatedAt": "2019-06-09 08:08:47",
"whatsappID": "5488902",
"maxChats": "1000",
"perfilID": "3",
"welcomeText": null,
"departmentsAccess": "1",
"viewedUpdates": "1",
"statusID": null,
"pushToken": null,
"osDevice": null,
"signatureEmail": null,
"autoLogin": null,
"autoDistribution": "0",
"lastAutoChatAt": null,
"active": "1",
"layoutType": "1",
"blocked": 0,
"office": "Outro",
"confirmedEmail": "1",
"confirmEmailAlert": "",
"perfilName": "Administrador",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"number": "5575999999999",
"type": 1,
"isActive": true,
"isAvailable": false,
"isOnline": false,
"lastSeen": "2019-05-26 17:47:14",
"isGuest": ""
}
}
],
"variables": []
},
{
"id": "30320",
"token": "92e5f207-daee-4571-af39-34f935024128",
"description": "Eletrônicos",
"createdAt": "2019-06-18 11:46:59",
"updatedAt": "2019-06-18 11:46:59",
"status": "1",
"companyID": "15691",
"createdBy": null,
"importStatus": "0",
"projectID": "487703",
"importedBy": null,
"actions": [],
"variables": []
},
{
"id": "30321",
"token": "897734d9-d832-45c9-885f-26270ed67bda",
"description": "Vestuários",
"createdAt": "2019-06-18 11:47:19",
"updatedAt": "2019-06-18 11:47:19",
"status": "1",
"companyID": "15691",
"createdBy": null,
"importStatus": "0",
"projectID": "487703",
"importedBy": null,
"actions": [],
"variables": []
},
{
"id": "30322",
"token": "0e44ccba-299e-4c6d-80be-7be3b55a83df",
"description": "Kids",
"createdAt": "2019-06-18 11:47:51",
"updatedAt": "2019-06-18 11:47:51",
"status": "1",
"companyID": "15691",
"createdBy": null,
"importStatus": "0",
"projectID": "487703",
"importedBy": null,
"actions": [],
"variables": []
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
GET/projects/{projectId}/flows/{flowId}
Visualizar um flow
Obtém os dados de um flow automatizado a partir do ID
do flow.
Nota: Opcionalmente você poderá realizar uma requisição subtraindo apenas o
ID
do projeto, resultando na seguinte uri.../projects/flows/{flowId}
.
Parâmetro | Tipo | Exemplo | Descrição | |
---|---|---|---|---|
projectId | number | 487704 | Número identificador do projeto | Opcional | flowId | number | 30124 | Número identificador do flow | Requerido |
Resposta 200
{
"id": "30124",
"token": "dfd5a68d-31d4-4261-b659-e5b4c9b26a53",
"description": "Boas Vindas",
"createdAt": "2019-06-16 20:58:43",
"updatedAt": "2019-06-18 06:57:46",
"status": "1",
"companyID": "15691",
"createdBy": null,
"importStatus": "0",
"projectID": "487703",
"importedBy": null,
"actions": [
{
"id": "101122",
"type": "huggy.action.send.message",
"value": "{\"content\":[\"Ol\\u00e1! Seja bem vindo ao nosso site.\\n\",\"Gostaria de falar com um de nossos atendentes?\\n\",\"Ol\\u00e1! Seja bem vindo ao nosso site.\"],\"typing\":false,\"content_type\":\"0\"}",
"order": "0",
"createdAt": "2019-06-16 21:56:03",
"updatedAt": "2019-06-18 06:57:46",
"status": "1",
"companyID": "15691",
"automationFlowID": "30124",
"label": "APP_LABEL_ACTION_SEND_MESSAGE",
"fullValue": {
"content": [
"Olá! Seja bem vindo ao nosso site.\n",
"Gostaria de falar com um de nossos atendentes?\n",
"Olá! Seja bem vindo ao nosso site."
],
"type": {
"type": "0"
},
"typing": false,
"index": 1
}
},
{
"id": "101123",
"type": "huggy.action.send.message",
"value": "{\"content\":[\"Gostaria de falar com um de nossos atendentes?\"],\"typing\":false,\"content_type\":\"0\"}",
"order": "1",
"createdAt": "2019-06-16 21:56:03",
"updatedAt": "2019-06-18 06:57:46",
"status": "1",
"companyID": "15691",
"automationFlowID": "30124",
"label": "APP_LABEL_ACTION_SEND_MESSAGE",
"fullValue": {
"content": [
"Gostaria de falar com um de nossos atendentes?"
],
"type": {
"type": "0"
},
"typing": false,
"index": 0
}
},
{
"id": "101766",
"type": "huggy.action.conditional",
"value": "{\"action\":{\"type\":\"huggy.action.transfer.to.agent\",\"label\":\"APP_LABEL_ACTION_TRANSFER_TO_AGENT\",\"id\":\"\",\"companyID\":15691,\"value\":39704,\"fullValue\":[],\"order\":0},\"conditions\":[{\"type\":\"huggy.conditional.variable\",\"operator\":\"=\",\"value\":{\"key\":\"pTransfAgent\",\"value\":\"SIM\",\"customVariable\":true}}]}",
"order": "2",
"createdAt": "2019-06-18 06:57:46",
"updatedAt": "2019-06-18 06:57:46",
"status": "1",
"companyID": "15691",
"automationFlowID": "30124",
"label": "APP_LABEL_ACTION_CONDITIONAL",
"fullValue": {
"id": "39704",
"name": "Aguiar",
"login": "carlos@teste.com",
"status": "1",
"companyID": "15333",
"photoLink": null,
"gender": "0",
"birthDate": null,
"email": "carlos@teste.com",
"createdAt": "2019-05-26 17:48:14",
"updatedAt": "2019-06-09 08:08:47",
"whatsappID": "5488902",
"maxChats": "1000",
"perfilID": "3",
"welcomeText": null,
"departmentsAccess": "1",
"viewedUpdates": "1",
"statusID": null,
"pushToken": null,
"osDevice": null,
"signatureEmail": null,
"autoLogin": null,
"autoDistribution": "0",
"lastAutoChatAt": null,
"active": "1",
"layoutType": "1",
"blocked": 0,
"office": "Outro",
"confirmedEmail": "1",
"confirmEmailAlert": "",
"perfilName": "Administrador",
"photo_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"image_small": "https://c.pzw.io/img/avatar-user-boy.jpg",
"number": "5575999999999",
"type": 1,
"isActive": true,
"isAvailable": false,
"isOnline": false,
"lastSeen": "2019-05-26 17:47:14",
"isGuest": ""
}
}
],
"variables": []
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
POST/projects/{id}/flows
Criar um flow
Passe no parâmetro de consulta o ID
do projeto e o atributo no corpo da solicitação para que o flow seja criado
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 487704 | Número identificador do projeto |
Atributo | Tipo | Descrição |
---|---|---|
description | string | Descrição do flow a ser criado |
Exemplo da requisição
{
"description": "Rastreamento"
}
2
3
Resposta 200
{
"id": "30358",
"token": "63cb5ca6-9069-4144-a241-4df582af3b6e",
"description": "Rastreamento",
"createdAt": null,
"updatedAt": null,
"status": null,
"companyID": 15691,
"createdBy": null,
"importStatus": null,
"projectID": 487759,
"importedBy": null,
"actions": [],
"variables": []
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Resposta 404
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
PUT/projects/{projectId}/flows/{flowId}
Atualizar um flow
Atualiza a descrição de um flow.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
projectId | number | 487704 | Número identificador do projeto |
flowId | number | 30320 | Número do flow do projeto |
Atributos | Tipo | Descrição |
---|---|---|
description | string | Nova descrição do flow |
Exemplo da requisição
{
"description": "New description"
}
2
3
Resposta 200
{
"id": "30320",
"token": "92e5f207-daee-4571-af39-34f935024128",
"description": "new description",
"createdAt": "2019-06-18 11:46:59",
"updatedAt": "2019-06-25 08:59:19",
"status": "1",
"companyID": "15691",
"createdBy": null,
"importStatus": "0",
"projectID": "487703",
"importedBy": null,
"actions": [],
"variables": []
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Resposta 404
{
"reason": "Esta mensagem informará o que ocasionou o erro."
}
2
3
DELETE/projects/{projectsId}/flows/{flowId}
Excluir um flow
Exclui um flow a partir do seu ID
Nota: Não é possível excluir um
Flow
que esteja em uso.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
projectId | number | 487704 | Número identificador do projeto |
flowId | number | 30772 | Número identificador do flow |
Resposta 204
{
"status": true
}
2
3
Resposta 400
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
Organizations
GET/organizations
Visualizar todas as organizações
Obtém a lista de todas as organizações cadastradas na plataforma Huggy.
Resposta 200
[
{
"id": "19706",
"name": "hankmark",
"cnpj": null,
"ie": null,
"address": null,
"state": null,
"city": null,
"country": null,
"district": null,
"zipCode": null,
"createdAt": "2019-06-26 11:27:12",
"updatedAt": "2019-06-26 11:27:12",
"companyID": "15691",
"status": "1",
"description": "Distribuidora de Calçados",
"observation": null,
"domains": "hankmark.com",
"phone": "5575999999999",
"photo": null,
"nameEmoji": "hankmark",
"customFields": []
},
{
"id": "19704",
"name": "Huggy",
"cnpj": null,
"ie": null,
"address": null,
"state": null,
"city": null,
"country": null,
"district": null,
"zipCode": null,
"createdAt": "2019-06-26 11:22:54",
"updatedAt": "2019-06-26 11:22:54",
"companyID": "15691",
"status": "1",
"description": "Atendimento Digital",
"observation": null,
"domains": "huggy.io",
"phone": "75999999999",
"photo": null,
"nameEmoji": "Huggy",
"customFields": []
},
{
"id": "19705",
"name": "Mercante",
"cnpj": null,
"ie": null,
"address": null,
"state": null,
"city": null,
"country": null,
"district": null,
"zipCode": null,
"createdAt": "2019-06-26 11:25:57",
"updatedAt": "2019-06-26 11:25:57",
"companyID": "15691",
"status": "1",
"description": "Distribuidora de Alimentos",
"observation": null,
"domains": "testmercante.com",
"phone": "75999999999",
"photo": null,
"nameEmoji": "Mercante",
"customFields": []
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
POST/organizations
Criar uma nova organização
Cria uma nova organização na plataforma Huggy. Passe no corpo requisição o atributo name
com o nome desejado.
Atributo | Tipo | Descrição |
---|---|---|
name | string | Nome da organização |
Exemplo da requisição
{
"name": "Huggy"
}
2
3
Resposta 200
{
"id": "18711",
"name": "Huggy",
"cnpj": null,
"ie": null,
"address": null,
"state": null,
"city": null,
"country": null,
"district": null,
"zipCode": null,
"createdAt": null,
"updatedAt": null,
"companyID": "11721",
"status": 1,
"description": null,
"observation": null,
"domains": null,
"phone": null,
"photo": null,
"nameEmoji": "huggy",
"customFields": []
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Resposta 400
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
PUT/organizations/{Id}
Atualizar uma organização
Atualiza o nome da organização.
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 19709 | Número identificador da organização |
Atributos | Tipo | Descrição |
---|---|---|
name | string | Nome da organização |
Exemplo da requisição
{
"name": "Huggy"
}
2
3
Response 200
{
"id": "18697",
"name": "Huggy",
"cnpj": null,
"ie": null,
"address": null,
"state": null,
"city": null,
"country": null,
"district": null,
"zipCode": null,
"createdAt": null,
"updatedAt": null,
"companyID": "11721",
"status": 1,
"description": null,
"observation": null,
"domains": null,
"phone": null,
"photo": null,
"nameEmoji": "huggy",
"customFields": []
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
DELETE/organizations/{Id}
Excluir uma organização
Exclui uma organização a partir de seu ID
Parâmetro | Tipo | Exemplo | Descrição |
---|---|---|---|
id | number | 19709 | Número identificador da organização |
Resposta 204
Requisição bem sucedida com o body vazio
Resposta 404
{
"reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
2
3
4
Companies
GET/companies
Visualizar todas as companies
Obtém a lista de todas as companies de um agente.
Nota: O Token de acesso à API pertence ao agente. Portanto, as companies listadas neste endpoint corresponderá às companies do proprietário do Token.
Resposta 200
[
{
"id": 15691,
"name": "Huggy"
},
{
"id": 15693,
"name": "Hank"
}
]
2
3
4
5
6
7
8
9
10