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
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 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.

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.

Autenticação OAuth 2.0

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
1

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 o refresh_token, conforme o modelo a seguir:
POST https://auth.huggy.app/oauth/access_token

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"
}
1
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"
}
1
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"
    }
]
1
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"
}
1
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."
}
1
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"
    }
]
1
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.
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"
email 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."
}
1
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"
    }
]
1
2
3
4
5
6
7
8
9
10

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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
    }
]
1
2
3
4
5
6

Resposta 400

{
    "reason": "Esta mensagem informará o que ocasionou o erro"
}
1
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
}
1
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"
}
1
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."
}
1
2
3

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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"
}
1
2
3
4

Resposta 200

{
    "customerId": "7356074",
    "id": 17656128
}
1
2
3
4

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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 status 400 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
}
1
2
3

Resposta 200

Requisição bem sucedida com o body vazio
1

Resposta 400

{
    "reason": "Esta mensagem informará o que ocasionou o erro."
}
1
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
1

Resposta 403

{
   "reason": "Esta mensagem informará o que ocasionou o erro."
}
1
2
3

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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 o chat 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"
  ]
}
1
2
3
4
5
6
7

Resposta 200

Requisição bem sucedida com o body vazio
1

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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
1

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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
1

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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"
}
1
2
3
4

Resposta 200

Requisição bem sucedida com o body vazio
1

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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
1

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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."
}
1
2
3

Resposta 404

{
    "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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"
    }
]
1
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"
}
1
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"
}
1
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."
}
1
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
}
1
2
3
4
5
6
7
8
9
10

Resposta 404

{
   "reason": "This message will show that doesn't exist result for your search."
}
1
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
email 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
}
1
2
3
4
5

Resposta 400

{
    "reason": "Esta mensagem informará o que ocasionou o erro."
}
1
2
3

Resposta 500

{
    "reason": "Agente já conectado"
}
1
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
1

Resposta 200

{
    "statusId": null,
    "available": true
}
1
2
3
4

Resposta 400

{
    "reason": "Esta mensagem informará o que ocasionou o erro."
}
1
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
}
1
2
3
4
5

Resposta 200

Requisição bem sucedida com o body vazio
1

Resposta 400

{
    "reason": "Esta mensagem informará o que ocasionou o erro."
}
1
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
1

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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": []
    }
]
1
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": []
}
1
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."
}
1
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": ""
    }
]
1
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."
}
1
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"
    }
]
1
2
3
4
5
6
7
8
9
10
11

Resposta 400

{
    "reason": "Esta mensagem informará o que ocasionou o erro."
}
1
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": []
    }
]
1
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."
}
1
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"
    }
]
1
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."
}
1
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"
            }
        ]
    }
]
1
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."
}
1
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
email string Endereço de e-mail do contato

Exemplo da requisição

{
  "name": "Charles Edware",
  "email": "teste3@teste.com"
}
1
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": []
}
1
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."
}
1
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"
}
1
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
}
1
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."
}
1
2
3

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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
email string Endereço de e-mail do contato

Exemplo da requisição

{
  "name": "Edward",
  "email": "newemailcharles@teste.com"
}
1
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": []
}
1
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."
}
1
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
1

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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"
    }
]
1
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:

  • email
  • messenger
  • telegram
  • telegram-bot
  • whatsapp
  • 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
    }
]
1
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."
}
1
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
}
1
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
    }
]
1
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."
}
1
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"
    }
]
1
2
3
4
5
6
7
8
9
10

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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"
}
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"
    }
]
1
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": []
}
1
2
3
4
5
6
7
8
9
10

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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!"
    }
]
1
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!"
    }
]
1
2
3
4
5
6
7
8
9

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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
    }
]
1
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": []
            }
        ]
    }
]
1
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": []
        }
    ]
}
1
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."
}
1
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"
    }
]
1
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
}
1
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."
}
1
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"
    }
]
1
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"
}
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."
}
1
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
    }
]
1
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
    }
}
1
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"
}
1
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
    }
}
1
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"
}
1
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
    }
}
1
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."
}
1
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
}
1
2
3

Resposta 404

{
    "reason": "Esta mensagem informará o que ocasionou o erro."
}
1
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": []
    }
]
1
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": []
}
1
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"
}
1
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": []
}
1
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."
}
1
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"
}
1
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": []
}
1
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."
}
1
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
}
1
2
3

Resposta 400

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
2
3

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}
1
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": []
    }
]
1
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"
}
1
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": []
}
1
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."
}
1
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"
}
1
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": []
}
1
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."
}
1
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
1

Resposta 404

{
   "reason": "Esta mensagem mostrará que não existe resultado para sua busca."
}

1
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"
    }
]
1
2
3
4
5
6
7
8
9
10