Saltar para o conteúdo principal
POST
/
webhooks
/
on-optout
Webhook - Quando um usuário cancela a inscrição (opt-out)
curl --request POST \
  --url https://seudominio.com/webhooks/on-optout \
  --header 'Content-Type: application/json' \
  --data '
{
  "country_code": "+57",
  "cellphone": "3176477608",
  "session_id": "85b398ef5bcb20c355f3710c4509349784c907673c9118fb7a89c7a8",
  "conversation_id": 54263,
  "question": {
    "type": "closed",
    "text": "Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. ",
    "answers": [
      {
        "text": "Claro"
      },
      {
        "text": "Não, obrigado"
      },
      {
        "text": "PADRÃO"
      }
    ]
  },
  "sent_at": "2021-10-22 00:15:39.044704",
  "sent_text": "Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. \n1) Claro\n2) Não, obrigado\n3) PADRÃO",
  "user_session_keys": [],
  "classified_answer": {
    "text": "Não, obrigado"
  },
  "reason": "OPTOUT"
}
'
import requests

url = "https://seudominio.com/webhooks/on-optout"

payload = {
"country_code": "+57",
"cellphone": "3176477608",
"session_id": "85b398ef5bcb20c355f3710c4509349784c907673c9118fb7a89c7a8",
"conversation_id": 54263,
"question": {
"type": "closed",
"text": "Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. ",
"answers": [{ "text": "Claro" }, { "text": "Não, obrigado" }, { "text": "PADRÃO" }]
},
"sent_at": "2021-10-22 00:15:39.044704",
"sent_text": "Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso.
1) Claro
2) Não, obrigado
3) PADRÃO",
"user_session_keys": [],
"classified_answer": { "text": "Não, obrigado" },
"reason": "OPTOUT"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
country_code: '+57',
cellphone: '3176477608',
session_id: '85b398ef5bcb20c355f3710c4509349784c907673c9118fb7a89c7a8',
conversation_id: 54263,
question: {
type: 'closed',
text: 'Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. ',
answers: [{text: 'Claro'}, {text: 'Não, obrigado'}, {text: 'PADRÃO'}]
},
sent_at: '2021-10-22 00:15:39.044704',
sent_text: 'Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. \n1) Claro\n2) Não, obrigado\n3) PADRÃO',
user_session_keys: [],
classified_answer: {text: 'Não, obrigado'},
reason: 'OPTOUT'
})
};

fetch('https://seudominio.com/webhooks/on-optout', 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://seudominio.com/webhooks/on-optout",
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([
'country_code' => '+57',
'cellphone' => '3176477608',
'session_id' => '85b398ef5bcb20c355f3710c4509349784c907673c9118fb7a89c7a8',
'conversation_id' => 54263,
'question' => [
'type' => 'closed',
'text' => 'Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. ',
'answers' => [
[
'text' => 'Claro'
],
[
'text' => 'Não, obrigado'
],
[
'text' => 'PADRÃO'
]
]
],
'sent_at' => '2021-10-22 00:15:39.044704',
'sent_text' => 'Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso.
1) Claro
2) Não, obrigado
3) PADRÃO',
'user_session_keys' => [

],
'classified_answer' => [
'text' => 'Não, obrigado'
],
'reason' => 'OPTOUT'
]),
CURLOPT_HTTPHEADER => [
"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://seudominio.com/webhooks/on-optout"

payload := strings.NewReader("{\n \"country_code\": \"+57\",\n \"cellphone\": \"3176477608\",\n \"session_id\": \"85b398ef5bcb20c355f3710c4509349784c907673c9118fb7a89c7a8\",\n \"conversation_id\": 54263,\n \"question\": {\n \"type\": \"closed\",\n \"text\": \"Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. \",\n \"answers\": [\n {\n \"text\": \"Claro\"\n },\n {\n \"text\": \"Não, obrigado\"\n },\n {\n \"text\": \"PADRÃO\"\n }\n ]\n },\n \"sent_at\": \"2021-10-22 00:15:39.044704\",\n \"sent_text\": \"Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. \\n1) Claro\\n2) Não, obrigado\\n3) PADRÃO\",\n \"user_session_keys\": [],\n \"classified_answer\": {\n \"text\": \"Não, obrigado\"\n },\n \"reason\": \"OPTOUT\"\n}")

req, _ := http.NewRequest("POST", url, payload)

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://seudominio.com/webhooks/on-optout")
.header("Content-Type", "application/json")
.body("{\n \"country_code\": \"+57\",\n \"cellphone\": \"3176477608\",\n \"session_id\": \"85b398ef5bcb20c355f3710c4509349784c907673c9118fb7a89c7a8\",\n \"conversation_id\": 54263,\n \"question\": {\n \"type\": \"closed\",\n \"text\": \"Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. \",\n \"answers\": [\n {\n \"text\": \"Claro\"\n },\n {\n \"text\": \"Não, obrigado\"\n },\n {\n \"text\": \"PADRÃO\"\n }\n ]\n },\n \"sent_at\": \"2021-10-22 00:15:39.044704\",\n \"sent_text\": \"Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. \\n1) Claro\\n2) Não, obrigado\\n3) PADRÃO\",\n \"user_session_keys\": [],\n \"classified_answer\": {\n \"text\": \"Não, obrigado\"\n },\n \"reason\": \"OPTOUT\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://seudominio.com/webhooks/on-optout")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"country_code\": \"+57\",\n \"cellphone\": \"3176477608\",\n \"session_id\": \"85b398ef5bcb20c355f3710c4509349784c907673c9118fb7a89c7a8\",\n \"conversation_id\": 54263,\n \"question\": {\n \"type\": \"closed\",\n \"text\": \"Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. \",\n \"answers\": [\n {\n \"text\": \"Claro\"\n },\n {\n \"text\": \"Não, obrigado\"\n },\n {\n \"text\": \"PADRÃO\"\n }\n ]\n },\n \"sent_at\": \"2021-10-22 00:15:39.044704\",\n \"sent_text\": \"Oi! Obrigado por participar do nosso webinar hoje. Gostaríamos de ter um feedback sobre nossa sessão e ficaríamos muito gratos se você pudesse nos ajudar com isso. \\n1) Claro\\n2) Não, obrigado\\n3) PADRÃO\",\n \"user_session_keys\": [],\n \"classified_answer\": {\n \"text\": \"Não, obrigado\"\n },\n \"reason\": \"OPTOUT\"\n}"

response = http.request(request)
puts response.read_body
{}

Corpo

application/json

Informações do evento de cancelamento de inscrição

Evento que é disparado quando um usuário decide cancelar a inscrição ou sair da conversa

country_code
string
obrigatório

Código de país del usuario

cellphone
string
obrigatório

Número de teléfono del usuario sin el código de país

session_id
string
obrigatório

ID de la sesión del usuario

conversation_id
integer
obrigatório

ID de la conversación

question
object
obrigatório
sent_at
string<date-time>
obrigatório

Fecha y hora en que se envió la pregunta

sent_text
string
obrigatório

Texto enviado ao usuário

classified_answer
object
obrigatório

Resposta classificada baseada na resposta do usuário

reason
enum<string>
obrigatório

Razão da saída do usuário, neste caso 'OPTOUT' para indicar que o usuário decidiu cancelar a inscrição

Opções disponíveis:
OPTOUT
user_session_keys
object[]

Claves de sesión del usuario recopiladas durante la conversación o proporcionadas durante el despliegue

Resposta

200 - application/json

Resposta para atualizar ou adicionar informações à sessão

Objeto JSON com as novas informações que serão substituídas ou adicionadas à sessão para uso futuro. O serviço deve responder em menos de 10 segundos.