📞 Central de Contato
📋 Visão Geral
A Central de Contato é o endpoint responsável por enfileirar notificações de contato na API Pública.
Ele permite que frontends, checkouts e integrações externas disparem mensagens de contato — como formulários, solicitações de atendimento ou quaisquer dados livres — para o serviço de notificações da plataforma.
O uso mais comum é em formulários de contato, solicitações de suporte e fluxos de atendimento ao cliente, onde o frontend precisa enviar dados para a equipe responsável sem depender de processamento síncrono.
🔄 Como Funciona
A rota não exige autenticação — qualquer cliente HTTP pode chamá-la sem fornecer token.
Se um token válido for enviado no cabeçalho Authorization, ele será processado normalmente pelo middleware PublicAuth, mas sua ausência não bloqueia nem altera a resposta.
Ao receber a chamada, o endpoint enfileira imediatamente uma notificação do tipo contact-center no serviço de notificações (tools.uappi).
O processamento da notificação é assíncrono — a API retorna sucesso assim que a notificação é enfileirada, sem aguardar o despacho efetivo (envio de e-mail, webhook ou outra ação configurada no template de notificação).
📦 Estrutura do Payload
O campo data aceita qualquer objeto JSON associativo — a API não valida nem restringe os campos internos.
O conteúdo de data é encaminhado diretamente ao template de notificação do centro de contato, cabendo à configuração do template determinar quais campos serão utilizados no despacho.
Exemplos de uso comuns:
name,email,message— dados de um formulário de contato tradicional.orderId,reason,details— solicitação de suporte vinculada a um pedido.- Qualquer estrutura que faça sentido para o fluxo da loja.
- O campo
dataé obrigatório e deve ser um objeto JSON (não aceita arrays indexados). - A resposta
{"status": true, "data": true}indica apenas que a notificação foi enfileirada com sucesso — não garante entrega final. - O comportamento de despacho (e-mail, webhook, etc.) depende da configuração do template de notificação
contact-centerna plataforma.
📌 Notas e Considerações
Enviar Notificação para Central de Contato
/publics/contact-center
Enfileira uma notificação de contato no serviço de notificações da plataforma
Descrição
Este endpoint enfileira uma notificação do tipo contact-center no serviço de notificações da plataforma.
Autenticação opcional
O middleware PublicAuth processa o token se presente, mas não o exige.
Chamadas sem o cabeçalho Authorization são tratadas normalmente e recebem a mesma resposta de sucesso.
Payload livre
O campo data aceita qualquer objeto JSON associativo — a API não valida campos específicos dentro dele.
O conteúdo é encaminhado diretamente ao template de notificação contact-center configurado na plataforma, que determina como os dados serão utilizados no despacho.
Processamento assíncrono
A resposta de sucesso indica que a notificação foi enfileirada com êxito, não que o despacho final (e-mail, webhook, etc.) já ocorreu.
O processamento acontece de forma assíncrona, em segundo plano.
Parâmetros
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | object | ✅ | Objeto associativo com os dados do contato. Conteúdo livre — sem campos fixos obrigatórios internamente. |
Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/api/v3/publics/contact-center \3 --header 'Content-Type: application/json' \4 --data '{5 "data": {6 "name": "João Silva",7 "email": "joao@exemplo.com",8 "message": "Gostaria de saber mais sobre os produtos."9 }10 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": true4}⚠️ Possíveis erros:
Atenção: a seguir estão destacados os principais erros que podem ocorrer neste endpoint.
Os cenários descritos representam os erros mais relevantes do contexto atual, servindo como referência para entendimento e tratamento das falhas.
| Código Interno | Código Http | Descrição |
|---|---|---|
INVALID_REQUEST_PAYLOAD | 400 | O payload da requisição é inválido — data ausente ou não é um objeto associativo. |
⚠️ Erros retornados:
Campo data ausente:
1{2 "status": false,3 "data": {4 "code": 400,5 "errorCode": "INVALID_REQUEST_PAYLOAD",6 "message": "The requested payload is not valid!",7 "details": {8 "data": ["The data field is required."]9 }10 }11}Campo data enviado como array indexado (não associativo):
1{2 "status": false,3 "data": {4 "code": 400,5 "errorCode": "INVALID_REQUEST_PAYLOAD",6 "message": "The requested payload is not valid!",7 "details": {8 "data": ["The data attribute must be an associative array."]9 }10 }11}