Skip to main content
GET
/
batch-import
/
entity-jobs
/
{jobId}
/
failures
Falhas batch de entidades
curl --request GET \
  --url http://api.gu1.ai/batch-import/entity-jobs/{jobId}/failures \
  --header 'Authorization: Bearer <token>'

Endpoints

GET https://api.gu1.ai/batch-import/entity-jobs/{jobId}/failures.csv
GET https://api.gu1.ai/batch-import/entity-jobs/{jobId}/failures
Alias legacy CSV (mesmo arquivo):
GET https://api.gu1.ai/entities/automatic/bulk/imports/{jobId}/failures.csv
  • …/failures.csv → download CSV (somente linhas failed)
  • …/failures → JSON (failures[] + skips[] quando aplicável)

Autenticação e permissões

Authorization: Bearer SUA_API_KEY
Requer pelo menos um de: transactions:create, entities:bulk_import, events:create.

Respostas HTTP

CódigoQuando
200Job encontrado
401Sem autenticação
403Sem permissão
404Job não encontrado

Colunas CSV (failures.csv)

Somente linhas com outcome=failed.
ColunaDescrição
tax_idTax id da linha
typeperson ou company
outcomeSempre failed neste export
codeCódigo estável — catálogo
error_messageDetalhe legível
Duplicado por taxId (bulk manual default): mesmo taxId + mesmo tipo → skipped_existing, código SKIPPED_DUPLICATE_TAX_ID. Não aparece em failures.csv. Consulte JSON skips[] ou o relatório completo do job.

Resposta JSON

Inclui failures[] (somente failed) e, se aplicável, skips[] / skipsTotal (linhas omitidas, não erros).
{
  "success": true,
  "jobId": "…",
  "kind": "entity_automatic",
  "status": "completed",
  "totalItems": 100,
  "succeeded": 97,
  "failed": 2,
  "skipped": 1,
  "failures": [
    {
      "taxId": "20123456789",
      "type": "company",
      "outcome": "failed",
      "code": "DUPLICATE_EXTERNAL_ID",
      "message": "An entity with external ID \"X\" already exists…"
    }
  ],
  "truncated": false,
  "failuresTotal": 2,
  "skips": [
    {
      "taxId": "30111222333",
      "type": "person",
      "outcome": "skipped_existing",
      "code": "SKIPPED_DUPLICATE_TAX_ID"
    }
  ],
  "skipsTotal": 1
}
Código skipSignificado
SKIPPED_DUPLICATE_TAX_IDBulk manual: taxId+tipo já existia
SKIPPED_ENTITY_ALREADY_EXISTSBulk automático: entidade já existia
failures.csv contém somente linhas outcome=failed. Duplicados taxId omitidos aparecem em JSON skips[] e no relatório completo por email, não em failures.csv. Ver também: Importar entidades, Códigos de falha.