Skip to main content
POST
/
entities
/
{id}
/
report-export
/
email
Relatório PDF da entidade por e-mail
curl --request POST \
  --url http://api.gu1.ai/entities/{id}/report-export/email \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --header 'X-Organization-ID: <x-organization-id>' \
  --data '
{
  "recipientEmails": [
    "<string>"
  ],
  "emailLocale": "<string>",
  "fromSenderId": {},
  "fromEmail": "<string>",
  "sections": {}
}
'

Visão geral

Enfileira de forma assíncrona a geração do PDF da entidade no servidor e o envio por e-mail. O PDF usa o mesmo fluxo jsPDF do download “exportar relatório” no app. Sua integração chama o endpoint com API key; os destinatários recebem o anexo (assunto/corpo conforme emailLocale).
A resposta HTTP é 202 Accepted assim que o trabalho é enfileirado. Geração e envio ocorrem em segundo plano; falhas ficam nos logs do servidor.

Endpoint

POST http://api.gu1.ai/entities/{id}/report-export/email

Autenticação e tenant

Authorization
string
required
Bearer SUA_API_KEY — ver Autenticação.
X-Organization-ID
string
required
UUID da organização (produção ou sandbox) — ver Ambientes.

Permissões

Exige permissão granular entities:export na API key (igual a POST /entities/{id}/export e GET /entities/{id}/export-data).

Marketplace e faturamento

  • A organização deve ter global_sender_email ativa (Aplicações / Marketplace) e o servidor com MS Provider configurado.
  • Cada endereço em recipientEmails (após deduplicação) consome uma execução do pacote de E-mail ou tokens conforme base_price_cents.
  • O pre-flight valida saldo/execuções para todos os destinatários antes de enfileirar.

Domínio e remetente (fromEmail)

  1. Cadastre o domínio em Ajustes → E-mail → Domínios e conclua a verificação DNS.
  2. Envie fromEmail com qualquer endereço desse domínio (ex.: noreply@seu-dominio.com). Não é obrigatório cadastrar o endereço em “Remetentes” se o domínio já estiver verificado.
  3. Alternativa: fromSenderId (UUID em organization_email_senders).
  4. Omita ambos para o remetente padrão da plataforma (noreply@gueno.com).
Não envie fromSenderId e fromEmail no mesmo request.

Parâmetros de rota

id
string
required
UUID da entidade (id retornado por criar/listar/obter).

Corpo JSON

recipientEmails
string[]
required
Um ou mais e-mails (máx. 26 após deduplicação). O envio vai somente para esses endereços; o e-mail do usuário da API key não é adicionado automaticamente.
emailLocale
string
Idioma do e-mail: en, es ou pt. Padrão en se omitido ou inválido.
fromSenderId
string (uuid)
UUID do remetente em Ajustes → E-mail → Remetentes. Exclusivo com fromEmail.
fromEmail
string
Endereço completo de envio (ex.: relatorios@seu-dominio.com). O domínio deve estar verificado. Exclusivo com fromSenderId.
sections
object
required
Booleanos por seção do relatório (mesma semântica do modal de exportação). Chaves opcionais; padrões alinhados ao validador da API (generalInfo padrão true, demais false se omitidos).Chaves: generalInfo, kyc, documents, checks, enrichments, alerts, aiAnalysis, relationships, timeline, riskAnalysis.

Exemplo de corpo

{
  "recipientEmails": ["compliance@exemplo.com"],
  "emailLocale": "pt",
  "fromEmail": "noreply@seu-dominio.com",
  "sections": {
    "generalInfo": true,
    "riskAnalysis": true,
    "enrichments": true
  }
}

Exemplo curl

curl -X POST "http://api.gu1.ai/entities/550e8400-e29b-41d4-a716-446655440000/report-export/email" \
  -H "Authorization: Bearer SUA_API_KEY" \
  -H "X-Organization-ID: UUID_DA_ORG" \
  -H "Content-Type: application/json" \
  -d '{
    "recipientEmails": ["compliance@exemplo.com"],
    "emailLocale": "pt",
    "fromEmail": "noreply@seu-dominio.com",
    "sections": {
      "generalInfo": true,
      "riskAnalysis": true,
      "enrichments": true
    }
  }'

Respostas

202 Accepted — enfileirado

{
  "success": true,
  "status": "queued",
  "message": "…"
}

400 — validação / pre-flight

Códigos comuns: NO_RECIPIENTS, TOO_MANY_RECIPIENTS, EMAIL_INTEGRATION_INACTIVE, DOMAIN_NOT_VERIFIED, SENDER_NOT_CONFIGURED, INVALID_SENDER, INSUFFICIENT_BALANCE (mesma semântica da documentação em espanhol).

404 / 500

Entidade inexistente ou oculta; erro interno.

Endpoints relacionados