curl --request GET \
--url https://api.jurichat.com/conversation/ \
--header 'x-jurichat-api-key: <api-key>'import requests
url = "https://api.jurichat.com/conversation/"
headers = {"x-jurichat-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-jurichat-api-key': '<api-key>'}};
fetch('https://api.jurichat.com/conversation/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jurichat.com/conversation/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-jurichat-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.jurichat.com/conversation/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-jurichat-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jurichat.com/conversation/")
.header("x-jurichat-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jurichat.com/conversation/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-jurichat-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"status": "ROBOT_INTERACTIVE",
"priority": "LOW",
"isFixed": true,
"isGroup": true,
"isPrivate": true,
"isArchived": true,
"isMuted": true,
"muteScope": "JURICHAT",
"mutedUntil": "2023-11-07T05:31:56Z",
"responsables": [
"<string>"
],
"person": {
"id": "<string>",
"name": "<string>",
"imageUrl": "<string>",
"phoneNumber": "<string>",
"externalIdentitySource": "WEB_CHAT",
"externalIdentityId": "<string>"
},
"group": {
"id": "<string>",
"name": "<string>",
"externalId": "<string>",
"imageUrl": "<string>"
},
"user": {
"id": "<string>",
"name": "<string>",
"imageUrl": "<string>"
},
"formattedDate": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"unreadCount": 123,
"scheduledMessagesCount": 123,
"departments": [
{
"id": "<string>",
"name": "<string>"
}
],
"tags": [
{
"id": "<string>",
"name": "<string>",
"color": "<string>"
}
],
"inbox": {
"id": "<string>",
"name": "<string>"
},
"integration": {
"id": "<string>",
"name": "<string>",
"channel": "<string>"
},
"legalArea": {
"id": "<string>",
"name": "<string>",
"color": "<string>"
},
"lastMessage": {
"id": "<string>",
"content": "<string>",
"type": "<string>",
"direction": "<string>",
"messageAt": "<string>",
"userId": "<string>",
"userName": "<string>",
"isViewedBySameUserLastMessage": true
}
}
],
"totalResults": 123,
"totalPages": 123
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"details": "<string>"
}Listar conversas
Lista conversas da inbox com filtros por status, prioridade, canal, tags, texto e aguardando resposta. Use page e limit para paginar.
curl --request GET \
--url https://api.jurichat.com/conversation/ \
--header 'x-jurichat-api-key: <api-key>'import requests
url = "https://api.jurichat.com/conversation/"
headers = {"x-jurichat-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-jurichat-api-key': '<api-key>'}};
fetch('https://api.jurichat.com/conversation/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jurichat.com/conversation/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-jurichat-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.jurichat.com/conversation/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-jurichat-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jurichat.com/conversation/")
.header("x-jurichat-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jurichat.com/conversation/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-jurichat-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"status": "ROBOT_INTERACTIVE",
"priority": "LOW",
"isFixed": true,
"isGroup": true,
"isPrivate": true,
"isArchived": true,
"isMuted": true,
"muteScope": "JURICHAT",
"mutedUntil": "2023-11-07T05:31:56Z",
"responsables": [
"<string>"
],
"person": {
"id": "<string>",
"name": "<string>",
"imageUrl": "<string>",
"phoneNumber": "<string>",
"externalIdentitySource": "WEB_CHAT",
"externalIdentityId": "<string>"
},
"group": {
"id": "<string>",
"name": "<string>",
"externalId": "<string>",
"imageUrl": "<string>"
},
"user": {
"id": "<string>",
"name": "<string>",
"imageUrl": "<string>"
},
"formattedDate": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"unreadCount": 123,
"scheduledMessagesCount": 123,
"departments": [
{
"id": "<string>",
"name": "<string>"
}
],
"tags": [
{
"id": "<string>",
"name": "<string>",
"color": "<string>"
}
],
"inbox": {
"id": "<string>",
"name": "<string>"
},
"integration": {
"id": "<string>",
"name": "<string>",
"channel": "<string>"
},
"legalArea": {
"id": "<string>",
"name": "<string>",
"color": "<string>"
},
"lastMessage": {
"id": "<string>",
"content": "<string>",
"type": "<string>",
"direction": "<string>",
"messageAt": "<string>",
"userId": "<string>",
"userName": "<string>",
"isViewedBySameUserLastMessage": true
}
}
],
"totalResults": 123,
"totalPages": 123
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"details": "<string>"
}Authorizations
Chave de API do escritório (criada no painel). Envie o valor no header x-jurichat-api-key.
Query Parameters
Número da página.
Quantidade de itens por página.
ID da inbox. Obrigatório para filtrar as conversas.
Filtra por nome, telefone ou grupo. Com 3+ caracteres, também busca no texto das mensagens.
Filtra por tags (IDs separados por vírgula ou outro formato aceito).
Filtra por canal de integração. Pode ser all, um ID ou uma lista de IDs.
all Filtra pelo status da conversa.
ROBOT_INTERACTIVE, INACTIVE, HUMAN_INTERACTIVE, WAITING_HUMAN, PAUSED Filtra pela prioridade da conversa.
LOW, MEDIUM, HIGH Filtra pelo ID do usuário responsável.
^[cC][^\s-]{8,}$Filtra pelo ID do departamento responsável pela conversa.
Quando verdadeiro, retorna apenas as conversas atribuídas ao usuário logado ou aos departamentos dele.
Quando verdadeiro, retorna apenas conversas com mensagens não lidas.
Quando verdadeiro, inclui conversas de grupo.
Quando verdadeiro, retorna apenas conversas de grupo.
Quando verdadeiro, retorna apenas conversas individuais (1:1).
Quando verdadeiro, retorna conversas cuja última mensagem é INBOUND. Se nenhum status for informado, exclui INACTIVE.
Quando verdadeiro, retorna apenas conversas arquivadas.
Ordem da lista pela data da última mensagem: newest (mais recentes primeiro, padrão) ou oldest (mais antigas primeiro). Conversas fixadas e prioridade continuam vindo antes em ambos os casos.
newest, oldest