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.
Parâmetros
| Nome | Local | Tipo | Descrição |
|---|---|---|---|
limit | query, opcional | inteiro | 1–100. Padrão 50. |
page_token | query, opcional | string | Cursor 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_parameter—limitoupage_tokeninvá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.
Parâmetros
| Nome | Localização | Tipo | Descrição |
|---|---|---|---|
name | corpo (JSON) | string | Obrigató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_id | corpo (JSON) | string, opcional | Construir o modelo (e seus campos) a partir de um preset interno — veja Listar presets para IDs válidos. |
base_template_id | corpo (JSON) | inteiro, opcional | Usado 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") — semnamee sempreset_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.
Parâmetros
| Nome | Localização | Tipo | Descrição |
|---|---|---|---|
id | path | integer | O modelo a ser excluído. |
Erros possíveis
missing_api_key/invalid_api_key/plan_required— veja Tratamento de Erros.template_not_foundinternal_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.
Parâmetros
| Nome | Localização | Tipo | Descrição |
|---|---|---|---|
category | query, opcional | string | Filtrar por uma categoria (ex.: "Finanças e Contabilidade"). Omita para listar todas as categorias. |
limit | query, opcional | integer | 1–100. Padrão 50. |
page_token | query, opcional | string | Cursor 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_parameter—limitoupage_tokeninvá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.
Parâmetros
| Nome | Localização | Tipo | Descrição |
|---|---|---|---|
id | path | integer | O modelo ao qual estes campos pertencem. |
name | body (JSON), apenas POST | string | Obrigatório. Deve ser único neste modelo — veja erros abaixo. |
format_requirement | body (JSON), apenas POST | string, opcional | Dica 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_foundmissing_parameter(param: "name") — apenas POST.duplicate_field_name— já existe um campo com estenameneste 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.
Parâmetros
| Nome | Local | Tipo | Descrição |
|---|---|---|---|
id | path | integer | O template ao qual este campo pertence. |
field_id | path | integer | O campo a ser atualizado ou excluído. |
name | body (JSON), apenas PUT | string | Obrigatório. Novo nome. |
format_requirement | body (JSON), apenas PUT | string, opcional | Nova 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) ofield_idnã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.
Parâmetros
| Nome | Localização | Tipo | Descrição |
|---|---|---|---|
id | path | integer | O modelo a ser reordenado. |
field_ids | body (JSON) | array of integers | Todos 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_foundinvalid_parameter(param: "field_ids") — não é uma lista de inteiros.internal_error