curl --request GET \
--url https://api.nuvia.ai/v1/hubspot/sync-settings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.nuvia.ai/v1/hubspot/sync-settings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.nuvia.ai/v1/hubspot/sync-settings', 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.nuvia.ai/v1/hubspot/sync-settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.nuvia.ai/v1/hubspot/sync-settings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.nuvia.ai/v1/hubspot/sync-settings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nuvia.ai/v1/hubspot/sync-settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"deal_name_template": "Novo deal - {{var_contact_name}}",
"lead_name_template": "Novo lead - {{var_contact_name}}",
"auto_create_contact": false,
"owner_sync_source": "DISABLED",
"sync_owner_on_webhook": false,
"realtime_property_lookup": false,
"send_transcript_on_resolve": false,
"contact_transcript_mode": "ON_RESOLVE",
"send_transcript_to_deal": false,
"deal_transcript_mode": "ON_RESOLVE",
"search_contact_on_dispatch": true,
"degraded_search_count_today": 0,
"observed_webhook_sources": [
"CRM_UI",
"IMPORT"
],
"disabled_webhook_sources": [
"IMPORT"
]
}Buscar configurações de sincronização
Retorna as configurações de auto-criação de contatos e deals no HubSpot
curl --request GET \
--url https://api.nuvia.ai/v1/hubspot/sync-settings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.nuvia.ai/v1/hubspot/sync-settings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.nuvia.ai/v1/hubspot/sync-settings', 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.nuvia.ai/v1/hubspot/sync-settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.nuvia.ai/v1/hubspot/sync-settings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.nuvia.ai/v1/hubspot/sync-settings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nuvia.ai/v1/hubspot/sync-settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"deal_name_template": "Novo deal - {{var_contact_name}}",
"lead_name_template": "Novo lead - {{var_contact_name}}",
"auto_create_contact": false,
"owner_sync_source": "DISABLED",
"sync_owner_on_webhook": false,
"realtime_property_lookup": false,
"send_transcript_on_resolve": false,
"contact_transcript_mode": "ON_RESOLVE",
"send_transcript_to_deal": false,
"deal_transcript_mode": "ON_RESOLVE",
"search_contact_on_dispatch": true,
"degraded_search_count_today": 0,
"observed_webhook_sources": [
"CRM_UI",
"IMPORT"
],
"disabled_webhook_sources": [
"IMPORT"
]
}Autorizações
Token JWT de autenticação
Resposta
Configurações retornadas com sucesso
Template para nome do deal (suporta variáveis {{var_contact_name}}, {{var_contact_email}}, etc.)
"Novo deal - {{var_contact_name}}"
Template para nome do lead criado automaticamente (suporta variáveis {{var_contact_name}}, etc.)
"Novo lead - {{var_contact_name}}"
Criar contato automaticamente no HubSpot ao iniciar conversa
false
Fonte de sincronização do owner (DISABLED, CONTACT_OWNER, DEAL_OWNER, LEAD_OWNER)
DISABLED, CONTACT_OWNER, DEAL_OWNER, LEAD_OWNER "DISABLED"
Sincronizar owner automaticamente quando Contact/Deal/Lead for atualizado no HubSpot
false
Buscar propriedades do contato no HubSpot em tempo real antes de montar o prompt do Agent
false
Enviar a transcrição da conversa ao CONTATO no HubSpot (o modo vem de contact_transcript_mode; o nome é histórico)
false
Quando a transcrição vai ao contato: ON_RESOLVE (ao finalizar a conversa) ou AUTO (por trecho, cerca de 1h após a última mensagem, no máximo 24h)
ON_RESOLVE, AUTO "ON_RESOLVE"
Enviar a transcrição da conversa também ao deal vinculado no HubSpot
false
Quando a transcrição vai ao deal: ON_RESOLVE (ao finalizar a conversa) ou AUTO (por trecho, cerca de 1h após a última mensagem, no máximo 24h)
ON_RESOLVE, AUTO "ON_RESOLVE"
Buscar o contato no HubSpot pelo telefone já no disparo da campanha. Default true; sem controle na UI, existe como escape hatch operacional
true
Buscas dispensadas hoje pelo teto de volume (read-only, indicador volátil vindo do Redis)
0
Fontes (changeSource) de webhook já observadas neste portal (server-grown, read-only)
["CRM_UI", "IMPORT"]
Fontes de webhook desabilitadas — eventos dessas fontes são descartados na ingestão (shedding)
["IMPORT"]