Ativar webhook de conversa finalizada
curl --request POST \
--url https://suasofia.online/api/user/assistants/enable-conversation-ended-webhook \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"assistant_id": 123,
"webhook_url": "<string>"
}
'import requests
url = "https://suasofia.online/api/user/assistants/enable-conversation-ended-webhook"
payload = {
"assistant_id": 123,
"webhook_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({assistant_id: 123, webhook_url: '<string>'})
};
fetch('https://suasofia.online/api/user/assistants/enable-conversation-ended-webhook', 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://suasofia.online/api/user/assistants/enable-conversation-ended-webhook",
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([
'assistant_id' => 123,
'webhook_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://suasofia.online/api/user/assistants/enable-conversation-ended-webhook"
payload := strings.NewReader("{\n \"assistant_id\": 123,\n \"webhook_url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://suasofia.online/api/user/assistants/enable-conversation-ended-webhook")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"assistant_id\": 123,\n \"webhook_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://suasofia.online/api/user/assistants/enable-conversation-ended-webhook")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assistant_id\": 123,\n \"webhook_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Webhook de conversa finalizada ativado com sucesso",
"data": []
}
{
"message": "Assistente não encontrado"
}
{
"message": "Os dados fornecidos eram inválidos.",
"errors": {
"assistant_id": [
"O campo ID do assistente é obrigatório."
],
"webhook_url": [
"O campo URL do webhook é obrigatório."
]
}
}
Assistentes
Ativar webhook de conversa finalizada
Ativar notificações de webhook quando uma conversa de chat termina
POST
/
user
/
assistants
/
enable-conversation-ended-webhook
Ativar webhook de conversa finalizada
curl --request POST \
--url https://suasofia.online/api/user/assistants/enable-conversation-ended-webhook \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"assistant_id": 123,
"webhook_url": "<string>"
}
'import requests
url = "https://suasofia.online/api/user/assistants/enable-conversation-ended-webhook"
payload = {
"assistant_id": 123,
"webhook_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({assistant_id: 123, webhook_url: '<string>'})
};
fetch('https://suasofia.online/api/user/assistants/enable-conversation-ended-webhook', 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://suasofia.online/api/user/assistants/enable-conversation-ended-webhook",
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([
'assistant_id' => 123,
'webhook_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://suasofia.online/api/user/assistants/enable-conversation-ended-webhook"
payload := strings.NewReader("{\n \"assistant_id\": 123,\n \"webhook_url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://suasofia.online/api/user/assistants/enable-conversation-ended-webhook")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"assistant_id\": 123,\n \"webhook_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://suasofia.online/api/user/assistants/enable-conversation-ended-webhook")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assistant_id\": 123,\n \"webhook_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Webhook de conversa finalizada ativado com sucesso",
"data": []
}
{
"message": "Assistente não encontrado"
}
{
"message": "Os dados fornecidos eram inválidos.",
"errors": {
"assistant_id": [
"O campo ID do assistente é obrigatório."
],
"webhook_url": [
"O campo URL do webhook é obrigatório."
]
}
}
Este endpoint ativa as notificações de webhook de conversa finalizada para um assistente, permitindo que você receba atualizações em tempo real quando uma conversa de chat (WhatsApp ou Web Widget) termina. O webhook inclui a transcrição completa, variáveis extraídas e informações do cliente.
Corpo da Requisição
integer
required
O ID do assistente para ativar o webhook de conversa finalizada
string
required
A URL onde as notificações de webhook serão enviadas quando uma conversa terminar
Resposta
string
Mensagem de sucesso confirmando que o webhook foi ativado
array
Array vazio (reservado para uso futuro)
Respostas de Erro
Show Resposta de Erro
Show Resposta de Erro
string
Mensagem de erro quando o assistente não é encontrado ou não pertence ao usuário autenticado
{
"message": "Webhook de conversa finalizada ativado com sucesso",
"data": []
}
{
"message": "Assistente não encontrado"
}
{
"message": "Os dados fornecidos eram inválidos.",
"errors": {
"assistant_id": [
"O campo ID do assistente é obrigatório."
],
"webhook_url": [
"O campo URL do webhook é obrigatório."
]
}
}
⌘I

