Pular para o conteúdo

Cotar um job

POST
/v1/jobs/estimate
curl --request POST \
--url https://api.brasilsintetico.com/v1/jobs/estimate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "pedido": { "canais": [ { "canal": "digital", "dia_fim": 14, "dia_inicio": 1, "intensidade": 0.5 }, { "canal": "radio", "dia_fim": 21, "dia_inicio": 7, "intensidade": 0.3 } ], "familia": "recepcao", "geografia": { "municipios": [ "3106200" ], "ufs": [ "MG" ] }, "grupo_comparacao": "campanha-bh", "horizonte": { "data_inicio": "2026-11-01", "dias": 30 }, "kpis": [ "alcance", "repassa" ], "mensagem": { "politica": "pol-ref", "stim_id": "af9cca9c97fcb5b610476bde8756e849", "template_ver": "tpl-ref" }, "nome": "Campanha em Belo Horizonte", "publico": { "faixas_renda": [ 1, 2, 3 ], "idades": [ [ 20, 59 ] ] }, "release": "v2.0.0", "replicas": 2, "versao_contrato": 3 } }'

Valida e cota um pedido sem reservar nada.

Tipo de mídiaapplication/json
object
pedido
obrigatório
Cenário de campanha

Um pedido de campanha, na versão 3 do contrato; um pedido na versão 2 ainda é aceito e lido como versão 3. Todo campo está declarado aqui; as regras que um JSON Schema não consegue dizer (entre campos, contra a release, a leitura eleitoral do texto livre) são conferidas pelo servidor, com os mesmos códigos estáveis.

object
versao_contrato
obrigatório
Valor aceito: 3
release
obrigatório
string
/^v[0-9]+\.[0-9]+\.[0-9]+$/
familia
obrigatório
Valores aceitos: adocao recepcao
geografia
obrigatório
object
ufs
obrigatório
Array
>= 1 itens itens únicos
Valores aceitos: AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO
municipios
Array<string>
itens únicos
aps
Array<string>
itens únicos
publico
object
idades
Array<array>
sexos
Array
itens únicos
Valores aceitos: masculino feminino
niveis_instrucao
Array
itens únicos
Valores aceitos: fundamental_incompleto fundamental_completo medio_completo superior_completo
faixas_renda
Array<integer>
itens únicos
racas
Array
itens únicos
Valores aceitos: branca preta amarela parda indigena
canais
Array<object>
object
canal
obrigatório
Valores aceitos: digital tv radio exterior
dia_inicio
obrigatório
integer
>= 1 <= 65535
dia_fim
obrigatório
integer
>= 1 <= 65535
intensidade
obrigatório
number
> 0 <= 1
mensagem
Qualquer um de:
null
lancamento
Qualquer um de:
null
horizonte
obrigatório
object
data_inicio
obrigatório
string formato: date
/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/
dias
obrigatório
integer
>= 1 <= 65535
replicas
obrigatório
integer
>= 1 <= 20
grupo_comparacao
obrigatório
string
/^[a-z0-9][a-z0-9_.-]{0,63}$/
kpis
obrigatório
Array
>= 1 itens itens únicos
Valores aceitos: adotantes alcance ignora absorve repassa rejeita
nome
string
<= 80 caracteres
descricao
string
<= 500 caracteres
saida_por_setor
boolean
contrato_de_resposta
Qualquer um de:
null

Resposta bem-sucedida

Tipo de mídiaapplication/json
object
release
obrigatório
string
ufs
obrigatório
Array<string>
dias
obrigatório
integer
variantes
obrigatório
integer
replicas
obrigatório
integer
pessoa_dias
obrigatório
integer
preco_micros
obrigatório
integer
minutos_estimados
integer
0

Exemplo

{
"minutos_estimados": 0
}

Erro de validação

Tipo de mídiaapplication/json
object
detail
Array<object>
object
loc
obrigatório
Local
Array
msg
obrigatório
Mensagem
string
type
obrigatório
Tipo do erro
string
input
ctx
Contexto
object

Exemplo gerado

{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}