curl --request PATCH \
--url https://api.jurichat.com/automation-rules/{id} \
--header 'Content-Type: application/json' \
--header 'x-jurichat-api-key: <api-key>' \
--data '
{
"name": "<string>",
"enabled": true,
"integrationId": "<string>",
"conditions": {
"funnelColumnId": "<string>",
"fromFunnelColumnId": "<string>",
"toFunnelColumnId": "<string>",
"assignedToUserId": "<string>",
"assignedToDepartmentId": "<string>",
"messageText": "<string>",
"templateName": "<string>",
"restartOnReturn": true
},
"actions": [
{
"actionParams": {
"targetFunnelColumnId": "<string>"
}
}
],
"elseActions": [
{
"actionParams": {
"targetFunnelColumnId": "<string>"
}
}
],
"priority": 123
}
'import requests
url = "https://api.jurichat.com/automation-rules/{id}"
payload = {
"name": "<string>",
"enabled": True,
"integrationId": "<string>",
"conditions": {
"funnelColumnId": "<string>",
"fromFunnelColumnId": "<string>",
"toFunnelColumnId": "<string>",
"assignedToUserId": "<string>",
"assignedToDepartmentId": "<string>",
"messageText": "<string>",
"templateName": "<string>",
"restartOnReturn": True
},
"actions": [{ "actionParams": { "targetFunnelColumnId": "<string>" } }],
"elseActions": [{ "actionParams": { "targetFunnelColumnId": "<string>" } }],
"priority": 123
}
headers = {
"x-jurichat-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-jurichat-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
enabled: true,
integrationId: '<string>',
conditions: {
funnelColumnId: '<string>',
fromFunnelColumnId: '<string>',
toFunnelColumnId: '<string>',
assignedToUserId: '<string>',
assignedToDepartmentId: '<string>',
messageText: '<string>',
templateName: '<string>',
restartOnReturn: true
},
actions: [{actionParams: {targetFunnelColumnId: '<string>'}}],
elseActions: [{actionParams: {targetFunnelColumnId: '<string>'}}],
priority: 123
})
};
fetch('https://api.jurichat.com/automation-rules/{id}', 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/automation-rules/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'enabled' => true,
'integrationId' => '<string>',
'conditions' => [
'funnelColumnId' => '<string>',
'fromFunnelColumnId' => '<string>',
'toFunnelColumnId' => '<string>',
'assignedToUserId' => '<string>',
'assignedToDepartmentId' => '<string>',
'messageText' => '<string>',
'templateName' => '<string>',
'restartOnReturn' => true
],
'actions' => [
[
'actionParams' => [
'targetFunnelColumnId' => '<string>'
]
]
],
'elseActions' => [
[
'actionParams' => [
'targetFunnelColumnId' => '<string>'
]
]
],
'priority' => 123
]),
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/automation-rules/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"integrationId\": \"<string>\",\n \"conditions\": {\n \"funnelColumnId\": \"<string>\",\n \"fromFunnelColumnId\": \"<string>\",\n \"toFunnelColumnId\": \"<string>\",\n \"assignedToUserId\": \"<string>\",\n \"assignedToDepartmentId\": \"<string>\",\n \"messageText\": \"<string>\",\n \"templateName\": \"<string>\",\n \"restartOnReturn\": true\n },\n \"actions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"elseActions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"priority\": 123\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.jurichat.com/automation-rules/{id}")
.header("x-jurichat-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"integrationId\": \"<string>\",\n \"conditions\": {\n \"funnelColumnId\": \"<string>\",\n \"fromFunnelColumnId\": \"<string>\",\n \"toFunnelColumnId\": \"<string>\",\n \"assignedToUserId\": \"<string>\",\n \"assignedToDepartmentId\": \"<string>\",\n \"messageText\": \"<string>\",\n \"templateName\": \"<string>\",\n \"restartOnReturn\": true\n },\n \"actions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"elseActions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"priority\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jurichat.com/automation-rules/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-jurichat-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"integrationId\": \"<string>\",\n \"conditions\": {\n \"funnelColumnId\": \"<string>\",\n \"fromFunnelColumnId\": \"<string>\",\n \"toFunnelColumnId\": \"<string>\",\n \"assignedToUserId\": \"<string>\",\n \"assignedToDepartmentId\": \"<string>\",\n \"messageText\": \"<string>\",\n \"templateName\": \"<string>\",\n \"restartOnReturn\": true\n },\n \"actions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"elseActions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"priority\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"officeId": "<string>",
"integrationId": "<string>",
"name": "<string>",
"enabled": true,
"triggerEvent": "<string>",
"conditions": {},
"actions": [
{
"action": "<string>",
"actionParams": {}
}
],
"elseActions": [
{
"action": "<string>",
"actionParams": {}
}
],
"priority": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"details": "<string>"
}Atualizar regra de automação
Atualiza parcialmente uma regra de automação. Remover o filtro IF limpa o ramo Senão, mesmo que elseActions ainda exista no payload ou no banco.
Como montar
triggerEvent: pegue onameemGET /webhooks/events— é o mesmo catálogo dos webhooks.conditions(opcional): filtra o Quando. Sem nenhuma condição efetiva,elseActionsé recusado.actions: de 1 a 5 ações do ramo Então.elseActions: até 5 ações do ramo Senão.integrationId:nullaplica a regra a todas as integrações. Ids emGET /integration.
Parâmetros por ação (actions[].actionParams)
action | chave obrigatória | de onde vem o id |
|---|---|---|
SEND_FAST_MESSAGE | fastMessageId ou templateName | GET /fast-message?inboxId={inboxId} |
SCHEDULE_MESSAGE | text ou templateName | — |
MOVE_CARD | targetFunnelColumnId | GET /funnel-column |
TAG_CONVERSATION | tagId | GET /tag |
ASSIGN_LEGAL_AREA | legalAreaId | GET /legal-areas |
CREATE_TICKET | title | status em GET /ticket-statuses |
FIRE_WEBHOOK | url (http/https) | — |
PAUSE_AUTOMATION | nenhuma | durationMinutes opcional; resumeOnTemplateSent opcional |
Exemplo — enviar uma resposta rápida quando o lead entra numa coluna
{
"name": "Boas-vindas do funil",
"enabled": true,
"triggerEvent": "crm.lead.created",
"conditions": { "funnelColumnId": "<id de GET /funnel-column>" },
"actions": [
{
"action": "SEND_FAST_MESSAGE",
"actionParams": { "fastMessageId": "<id de GET /fast-message?inboxId=...>" }
}
]
}
A resposta rápida pode ser TEXT, AUDIO ou SEQUENCE. Numa SEQUENCE, os blocos saem
em ordem, no ritmo (typingSeconds / waitSeconds) salvo na própria resposta rápida.
curl --request PATCH \
--url https://api.jurichat.com/automation-rules/{id} \
--header 'Content-Type: application/json' \
--header 'x-jurichat-api-key: <api-key>' \
--data '
{
"name": "<string>",
"enabled": true,
"integrationId": "<string>",
"conditions": {
"funnelColumnId": "<string>",
"fromFunnelColumnId": "<string>",
"toFunnelColumnId": "<string>",
"assignedToUserId": "<string>",
"assignedToDepartmentId": "<string>",
"messageText": "<string>",
"templateName": "<string>",
"restartOnReturn": true
},
"actions": [
{
"actionParams": {
"targetFunnelColumnId": "<string>"
}
}
],
"elseActions": [
{
"actionParams": {
"targetFunnelColumnId": "<string>"
}
}
],
"priority": 123
}
'import requests
url = "https://api.jurichat.com/automation-rules/{id}"
payload = {
"name": "<string>",
"enabled": True,
"integrationId": "<string>",
"conditions": {
"funnelColumnId": "<string>",
"fromFunnelColumnId": "<string>",
"toFunnelColumnId": "<string>",
"assignedToUserId": "<string>",
"assignedToDepartmentId": "<string>",
"messageText": "<string>",
"templateName": "<string>",
"restartOnReturn": True
},
"actions": [{ "actionParams": { "targetFunnelColumnId": "<string>" } }],
"elseActions": [{ "actionParams": { "targetFunnelColumnId": "<string>" } }],
"priority": 123
}
headers = {
"x-jurichat-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-jurichat-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
enabled: true,
integrationId: '<string>',
conditions: {
funnelColumnId: '<string>',
fromFunnelColumnId: '<string>',
toFunnelColumnId: '<string>',
assignedToUserId: '<string>',
assignedToDepartmentId: '<string>',
messageText: '<string>',
templateName: '<string>',
restartOnReturn: true
},
actions: [{actionParams: {targetFunnelColumnId: '<string>'}}],
elseActions: [{actionParams: {targetFunnelColumnId: '<string>'}}],
priority: 123
})
};
fetch('https://api.jurichat.com/automation-rules/{id}', 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/automation-rules/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'enabled' => true,
'integrationId' => '<string>',
'conditions' => [
'funnelColumnId' => '<string>',
'fromFunnelColumnId' => '<string>',
'toFunnelColumnId' => '<string>',
'assignedToUserId' => '<string>',
'assignedToDepartmentId' => '<string>',
'messageText' => '<string>',
'templateName' => '<string>',
'restartOnReturn' => true
],
'actions' => [
[
'actionParams' => [
'targetFunnelColumnId' => '<string>'
]
]
],
'elseActions' => [
[
'actionParams' => [
'targetFunnelColumnId' => '<string>'
]
]
],
'priority' => 123
]),
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/automation-rules/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"integrationId\": \"<string>\",\n \"conditions\": {\n \"funnelColumnId\": \"<string>\",\n \"fromFunnelColumnId\": \"<string>\",\n \"toFunnelColumnId\": \"<string>\",\n \"assignedToUserId\": \"<string>\",\n \"assignedToDepartmentId\": \"<string>\",\n \"messageText\": \"<string>\",\n \"templateName\": \"<string>\",\n \"restartOnReturn\": true\n },\n \"actions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"elseActions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"priority\": 123\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.jurichat.com/automation-rules/{id}")
.header("x-jurichat-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"integrationId\": \"<string>\",\n \"conditions\": {\n \"funnelColumnId\": \"<string>\",\n \"fromFunnelColumnId\": \"<string>\",\n \"toFunnelColumnId\": \"<string>\",\n \"assignedToUserId\": \"<string>\",\n \"assignedToDepartmentId\": \"<string>\",\n \"messageText\": \"<string>\",\n \"templateName\": \"<string>\",\n \"restartOnReturn\": true\n },\n \"actions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"elseActions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"priority\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jurichat.com/automation-rules/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-jurichat-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"integrationId\": \"<string>\",\n \"conditions\": {\n \"funnelColumnId\": \"<string>\",\n \"fromFunnelColumnId\": \"<string>\",\n \"toFunnelColumnId\": \"<string>\",\n \"assignedToUserId\": \"<string>\",\n \"assignedToDepartmentId\": \"<string>\",\n \"messageText\": \"<string>\",\n \"templateName\": \"<string>\",\n \"restartOnReturn\": true\n },\n \"actions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"elseActions\": [\n {\n \"actionParams\": {\n \"targetFunnelColumnId\": \"<string>\"\n }\n }\n ],\n \"priority\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"officeId": "<string>",
"integrationId": "<string>",
"name": "<string>",
"enabled": true,
"triggerEvent": "<string>",
"conditions": {},
"actions": [
{
"action": "<string>",
"actionParams": {}
}
],
"elseActions": [
{
"action": "<string>",
"actionParams": {}
}
],
"priority": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"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 da regra de automação.
Body
Nome da regra.
1 - 100Indica se a regra está ativa.
Evento que dispara a automação.
crm.lead.created, crm.lead.updated, crm.lead.deleted, crm.lead.moved, crm.lead.overdue, chat.conversation.created, chat.conversation.updated, chat.conversation.assigned, chat.message.received, chat.message.sent, contact.created, contact.updated, contact.deleted, webhook.test ID da integração. Null para aplicar a todas.
Condições que restringem a execução da regra.
Show child attributes
Show child attributes
Ações do ramo Então, executadas quando a condição é verdadeira.
1 - 5 elementsShow child attributes
Show child attributes
Ações do ramo Senão. Null remove o ramo. Se o IF for removido, o Senão é limpo mesmo que este campo ainda venha preenchido.
5Show child attributes
Show child attributes
Prioridade da regra.
Response
Default Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes