Referência

Templates e Campos

Um Template é uma lista salva e reutilizável de Campos que você deseja extrair de um documento — um campo por coluna de saída. Passe o id de um Template para Iniciar o processamento de um lote em vez de listar seus campos novamente a cada chamada. Você também pode criar um Template a partir de um modelo predefinido ou ignorar Templates completamente e passar fields avulsos diretamente para process para uma execução única.

Listar templates

Retorna seus templates salvos, cada um com sua lista completa e ordenada de campos incorporada.

GET /api/v1/templates

Parâmetros

NomeLocalTipoDescrição
limitquery, opcionalinteiro1–100. Padrão 50.
page_tokenquery, opcionalstringCursor opaco de um next_page_token de resposta anterior. Consulte Paginação.

Possíveis erros

  • missing_api_key / invalid_api_key / plan_required — veja Tratamento de Erros.
  • invalid_parameterlimit ou page_token inválidos.

Criar um modelo

Duas formas de criar um modelo em um único endpoint: do zero (opcionalmente clonando campos de outro modelo via base_template_id) ou a partir de um preset interno via preset_id.

POST /api/v1/templates

Parâmetros

NomeLocalizaçãoTipoDescrição
namecorpo (JSON)stringObrigatório, a menos que preset_id seja informado (neste caso, usa o nome do preset, desambiguado com um sufixo de timestamp se você já tiver um modelo com esse nome).
preset_idcorpo (JSON)string, opcionalConstruir o modelo (e seus campos) a partir de um preset interno — veja Listar presets para IDs válidos.
base_template_idcorpo (JSON)inteiro, opcionalUsado apenas quando preset_id não é informado — clona os campos deste modelo existente para o novo.

Possíveis erros

  • missing_api_key / invalid_api_key / plan_required — veja Tratamento de Erros.
  • missing_parameter (param: "name") — sem name e sem preset_id.
  • invalid_parameter (param: "name") — já existe um modelo com este nome (apenas no caminho de criação sem preset).
  • invalid_parameter (param: "preset_id") — ID de preset desconhecido.
  • internal_error

Excluir um modelo

Exclui um modelo e todos os seus campos (em cascata — não é necessário chamada de limpeza separada). Não afeta documentos que já usaram este modelo em uma chamada process anterior; os resultados já extraídos permanecem intactos.

DELETE /api/v1/templates/{id}

Parâmetros

NomeLocalizaçãoTipoDescrição
idpathintegerO modelo a ser excluído.

Erros possíveis

  • missing_api_key / invalid_api_key / plan_required — veja Tratamento de Erros.
  • template_not_found
  • internal_error

Listar predefinições

Listas de campos integradas para tipos comuns de documentos (faturas, recibos, extratos bancários e mais) — passe o id de uma predefinição como preset_id para Criar um modelo e obtenha um modelo funcional sem precisar listar campos manualmente. As predefinições são configurações estáticas, não linhas de banco de dados — não há como criar, editar ou excluir uma pela API.

GET /api/v1/presets

Parâmetros

NomeLocalizaçãoTipoDescrição
categoryquery, opcionalstringFiltrar por uma categoria (ex.: "Finanças e Contabilidade"). Omita para listar todas as categorias.
limitquery, opcionalinteger1–100. Padrão 50.
page_tokenquery, opcionalstringCursor opaco de um next_page_token de resposta anterior.

Possíveis erros

  • missing_api_key / invalid_api_key / plan_required — veja Tratamento de Erros.
  • invalid_parameterlimit ou page_token inválidos.

Listar e criar campos

fields é o nome público da v1 para o que a interface do produto chama de "regras de correspondência" — um campo por coluna de saída, na ordem em que a extração os emitirá. GET retorna todos os campos do modelo, já ordenados por sort_order. POST adiciona um novo campo ao final.

GET POST /api/v1/templates/{id}/fields

Parâmetros

NomeLocalizaçãoTipoDescrição
idpathintegerO modelo ao qual estes campos pertencem.
namebody (JSON), apenas POSTstringObrigatório. Deve ser único neste modelo — veja erros abaixo.
format_requirementbody (JSON), apenas POSTstring, opcionalDica em texto livre sobre o formato esperado do valor (ex.: "YYYY-MM-DD", "Número").

Possíveis erros

  • missing_api_key / invalid_api_key / plan_required — veja Tratamento de Erros.
  • template_not_found
  • missing_parameter (param: "name") — apenas POST.
  • duplicate_field_name — já existe um campo com este name neste modelo.
  • internal_error

Atualizar e excluir um campo

PUT renomeia um campo (e substitui seu format_requirement) — é uma substituição completa, não uma atualização parcial, então inclua ambos os valores mesmo que apenas um tenha mudado. DELETE o remove.

PUT DELETE /api/v1/templates/{id}/fields/{field_id}

Parâmetros

NomeLocalTipoDescrição
idpathintegerO template ao qual este campo pertence.
field_idpathintegerO campo a ser atualizado ou excluído.
namebody (JSON), apenas PUTstringObrigatório. Novo nome.
format_requirementbody (JSON), apenas PUTstring, opcionalNova dica de formato — omita e será limpo para uma string vazia, não mantido inalterado.

Erros possíveis

  • missing_api_key / invalid_api_key / plan_required — veja Tratamento de Erros.
  • template_not_found — o template não existe/não é seu, ou (com uma mensagem observando isso) o field_id não está neste template.
  • missing_parameter (param: "name") — apenas PUT.
  • duplicate_field_name — apenas PUT, renomeando para um nome que outro campo neste template já possui.
  • internal_error

Reordenar campos

Define explicitamente a ordem dos campos, que determina a ordem das colunas de saída em line_items e em exportações para Excel/Word. IDs na lista que não pertencem a este modelo são ignorados silenciosamente, em vez de rejeitar toda a solicitação.

PATCH /api/v1/templates/{id}/fields/order

Parâmetros

NomeLocalizaçãoTipoDescrição
idpathintegerO modelo a ser reordenado.
field_idsbody (JSON)array of integersTodos os IDs de campo deste modelo, na ordem desejada. Obrigatório.

Erros possíveis

  • missing_api_key / invalid_api_key / plan_required — veja Tratamento de Erros.
  • template_not_found
  • invalid_parameter (param: "field_ids") — não é uma lista de inteiros.
  • internal_error
📮 contact email: [email protected]