Adicionar atualização ao ticket
curl --request POST \
--url https://api.jurichat.com/tickets/{id}/updates \
--header 'Content-Type: application/json' \
--header 'x-jurichat-api-key: <api-key>' \
--data '
{
"content": "",
"visibility": "PUBLIC"
}
'import requests
url = "https://api.jurichat.com/tickets/{id}/updates"
payload = {
"content": "",
"visibility": "PUBLIC"
}
headers = {
"x-jurichat-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-jurichat-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: '', visibility: 'PUBLIC'})
};
fetch('https://api.jurichat.com/tickets/{id}/updates', 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/tickets/{id}/updates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'content' => '',
'visibility' => 'PUBLIC'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.jurichat.com/tickets/{id}/updates"
payload := strings.NewReader("{\n \"content\": \"\",\n \"visibility\": \"PUBLIC\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-jurichat-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.jurichat.com/tickets/{id}/updates")
.header("x-jurichat-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"\",\n \"visibility\": \"PUBLIC\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jurichat.com/tickets/{id}/updates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-jurichat-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"\",\n \"visibility\": \"PUBLIC\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"officeId": "<string>",
"number": 1,
"code": "<string>",
"title": "<string>",
"description": "<string>",
"status": {
"id": "<string>",
"name": "<string>",
"color": "<string>",
"isClosed": true,
"index": 123
},
"priority": "LOW",
"conversationId": "<string>",
"conversation": {
"id": "<string>",
"person": {
"id": "<string>",
"name": "<string>",
"phoneNumber": "<string>"
}
},
"createdByUserId": "<string>",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"imageUrl": "<string>"
},
"isPublic": true,
"publicToken": "<string>",
"publicUrl": "<string>",
"assignees": [
{
"id": "<string>",
"name": "<string>",
"email": "<string>",
"imageUrl": "<string>"
}
],
"departments": [
{
"id": "<string>",
"name": "<string>"
}
],
"tags": [
{
"id": "<string>",
"name": "<string>",
"color": "<string>"
}
],
"attachments": [
{
"id": "<string>",
"fileName": "<string>",
"mimeType": "<string>",
"sizeBytes": 1,
"url": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"updatesCount": 1,
"lastUpdate": {
"content": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>"
}
},
"startedAt": "2023-11-07T05:31:56Z",
"endedAt": "2023-11-07T05:31:56Z",
"points": 1,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"updates": [
{
"id": "<string>",
"content": "<string>",
"visibility": "PUBLIC",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"imageUrl": "<string>"
},
"attachments": [
{
"id": "<string>",
"fileName": "<string>",
"mimeType": "<string>",
"sizeBytes": 1,
"url": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
]
}
],
"activities": [
{
"id": "<string>",
"type": "CREATED",
"field": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"imageUrl": "<string>"
},
"fromValue": null,
"toValue": null,
"metadata": null
}
]
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"details": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"details": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"details": "<string>"
}Tickets
Adicionar atualização ao ticket
Adiciona um comentário ou anexo ao ticket. Integrações (API key / MCP) devem enviar application/json com content. A UI pode enviar multipart/form-data quando houver arquivos.
POST
/
tickets
/
{id}
/
updates
Adicionar atualização ao ticket
curl --request POST \
--url https://api.jurichat.com/tickets/{id}/updates \
--header 'Content-Type: application/json' \
--header 'x-jurichat-api-key: <api-key>' \
--data '
{
"content": "",
"visibility": "PUBLIC"
}
'import requests
url = "https://api.jurichat.com/tickets/{id}/updates"
payload = {
"content": "",
"visibility": "PUBLIC"
}
headers = {
"x-jurichat-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-jurichat-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: '', visibility: 'PUBLIC'})
};
fetch('https://api.jurichat.com/tickets/{id}/updates', 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/tickets/{id}/updates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'content' => '',
'visibility' => 'PUBLIC'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.jurichat.com/tickets/{id}/updates"
payload := strings.NewReader("{\n \"content\": \"\",\n \"visibility\": \"PUBLIC\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-jurichat-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.jurichat.com/tickets/{id}/updates")
.header("x-jurichat-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"\",\n \"visibility\": \"PUBLIC\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jurichat.com/tickets/{id}/updates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-jurichat-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"\",\n \"visibility\": \"PUBLIC\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"officeId": "<string>",
"number": 1,
"code": "<string>",
"title": "<string>",
"description": "<string>",
"status": {
"id": "<string>",
"name": "<string>",
"color": "<string>",
"isClosed": true,
"index": 123
},
"priority": "LOW",
"conversationId": "<string>",
"conversation": {
"id": "<string>",
"person": {
"id": "<string>",
"name": "<string>",
"phoneNumber": "<string>"
}
},
"createdByUserId": "<string>",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"imageUrl": "<string>"
},
"isPublic": true,
"publicToken": "<string>",
"publicUrl": "<string>",
"assignees": [
{
"id": "<string>",
"name": "<string>",
"email": "<string>",
"imageUrl": "<string>"
}
],
"departments": [
{
"id": "<string>",
"name": "<string>"
}
],
"tags": [
{
"id": "<string>",
"name": "<string>",
"color": "<string>"
}
],
"attachments": [
{
"id": "<string>",
"fileName": "<string>",
"mimeType": "<string>",
"sizeBytes": 1,
"url": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"updatesCount": 1,
"lastUpdate": {
"content": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>"
}
},
"startedAt": "2023-11-07T05:31:56Z",
"endedAt": "2023-11-07T05:31:56Z",
"points": 1,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"updates": [
{
"id": "<string>",
"content": "<string>",
"visibility": "PUBLIC",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"imageUrl": "<string>"
},
"attachments": [
{
"id": "<string>",
"fileName": "<string>",
"mimeType": "<string>",
"sizeBytes": 1,
"url": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
]
}
],
"activities": [
{
"id": "<string>",
"type": "CREATED",
"field": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"imageUrl": "<string>"
},
"fromValue": null,
"toValue": null,
"metadata": null
}
]
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"details": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"details": "<string>"
}{
"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.
Path Parameters
ID interno do ticket (CUID) ou código compartilhado (TKT-0001).
Required string length:
1 - 40Body
application/jsonmultipart/form-data
Response
Default Response
Required range:
x > 0Show child attributes
Show child attributes
Available options:
LOW, MEDIUM, HIGH Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Required range:
x >= 0Show child attributes
Show child attributes
Required range:
x >= 0Show child attributes
Show child attributes
Show child attributes
Show child attributes