Skip to main content

Estou tentando usar o blip chat / desk como se fosse um proxy para conecta-lo a uma outra aplicação de chat.


Estou fazendo o seguinte:



  1. Criando o contato com o seguinte comando, no endpoint /commands.


{  
"id": "1",
"to": "[email protected]",
"method": "set",
"uri": "/contacts",
"type": "application/vnd.lime.contact+json",
"resource": {
"identity": "[email protected]",
"name": "Teste 1"
}
}


  1. Criando o ticket, também no endpoint /commands:


{
"id": "2",
"to": "[email protected]",
"method": "set",
"uri": "/tickets",
"type": "application/vnd.iris.ticket+json",
"resource": {
"customerIdentity": "[email protected]"
}
}


  1. Enviar uma mensagem inicial como se fosse o cliente, no endpoint /messages:


{
"id": "3",
"to": "teste%[email protected]",
"from": "[email protected]",
"type": "text/plain",
"content": "Mensagem inicial."
}

A mensagem até chega a aparecer (é recebida via websocket e aparece no blip desk), mas se eu dou refresh, ela some do chat (não é salva).


Este é um tipo de uso que não é suportado mesmo ou eu estou fazendo algo de errado?

Olá @Otavio_Tiburcio tudo bem?


É possível sim, mas recomendamos você fazer a instancia primeiro e depois ir gerando a troca de mensagem. É para não da refresh mantenha o account mas recomendo fazer o create contact e depois inicia a troca de mensagens com uma instancia valida. Blip Docs | API Reference


Olá Rafael, não entendi sua resposta.


Você consegue me passar a ordem e quais serviços/comandos específicos que devo usar?


Grato,

Leonardo.


1° Crie o contato :


 POST https://{{contract_id}}.http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {YOUR_TOKEN}

{
"id": "{{$guid}}",
"to": "[email protected]",
"method": "set",
"uri": "/contacts",
"type": "application/vnd.lime.contact+json",
"resource": {
"identity": "{{$user_identity}}",
"name": "{{$user_name}}",
"gender":"{{$user_gender}}",
"group":"{{$user_group}}",
"extras": {
"plan":"Gold",
"code":"1111"
},
"source": "{{$user_channel_name}}"
}
}

2° Crie o ticket :


 {
"id": "{{$guid}}",
"to": "[email protected]",
"method": "set",
"uri": "/tickets",
"type": "application/vnd.iris.ticket+json",
"resource": {
"customerIdentity": "{customerIdentity}"
}
}

3° Atribua o ticket ao atendente


 POST https://{{contract_id}}.http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {YOUR_TOKEN}
{
"id": "{{$guid}}",
"to": "[email protected]",
"method": "set",
"uri": "/tickets",
"type": "application/vnd.iris.ticket+json",
"resource": {
"customerIdentity": "{customerIdentity}"
}
}

4° Mande a mensagem para o atendente :


POST https://your.endpoint/messages HTTP/1.1
Content-Type: application/json

{
"id": "99cf454e-f25d-4ebd-831f-e48a1c612cd4",
"from": "[email protected]/4ac58r6e3",
"to": "atendente",
"type": "text/plain",
"content": "Help"
}



Comente