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"
}