Visão geral da API REST
O que a API do ODSign faz, como autenticar, formatos de dados, limites de uso, códigos de erro e o fluxo típico de integração.
5 min de leitura Avançado Atualizado em 11 de novembro de 2026
Nesta página
A API REST do ODSign permite que o seu sistema (ERP, CRM, portal do cliente) crie e envie envelopes, acompanhe o andamento, anule, consulte a trilha de auditoria e baixe o documento assinado e o certificado, sem ninguém abrir o app. Combinada com os webhooks de saída, ela avisa o seu sistema assim que algo acontece.
O que a API cobre
| Recurso | Operações |
|---|---|
| Envelopes | listar, criar (com documentos, destinatários e campos), detalhar |
| Envio | enviar um rascunho, reenviar o convite, anular |
| Auditoria | listar os eventos da trilha de auditoria |
| Documentos | baixar o PDF assinado e o certificado de conclusão |
A referência completa, com parâmetros e exemplos, está em Referência dos endpoints. Modelos, pastas, contatos e as configurações da conta são usados pelo app; a API trabalha com envelopes.
Endereço e autenticação
- Endereço base:
https://app.odsign.com.br/api/v1 - Autenticação: token pessoal no cabeçalho
Authorization: Bearer <token>. O token é criado por um administrador da conta em Configurações › Conta, no quadro Tokens da API (veja Criar e usar um token de API). - Formato: as respostas são JSON (exceto os downloads, que são PDF). Envie também o cabeçalho
Accept: application/json.
curl https://app.odsign.com.br/api/v1/envelopes \
-H "Authorization: Bearer $ODSIGN_TOKEN" \
-H "Accept: application/json"
Permissões
O token age em nome do usuário que o criou, com o perfil dele na conta:
- Administrador: lista e gerencia os envelopes de toda a conta.
- Outros perfis: listam e gerenciam apenas os envelopes que enviaram. Para criar envelopes, o usuário precisa poder enviar (perfil Administrador ou Remetente, com o envio de envelopes liberado no plano).
Cada token só enxerga a própria conta. Um envelope de outra conta responde como não encontrado.
Formatos de dados
| Dado | Formato |
|---|---|
| Identificador do envelope | UUID, por exemplo 9f1c6a2e-4b7d-4c1e-9a55-3d2f8e7b1c40 |
| Datas | ISO 8601 em UTC, por exemplo 2026-11-11T14:30:00+00:00 |
| Coordenadas dos campos | pontos PDF (72 por polegada), com origem no canto superior esquerdo da página; uma página A4 tem 595 × 842 pontos |
| Booleanos em formulários (multipart) | 1 ou 0 |
Estados do envelope (status)
| Valor | No app |
|---|---|
created |
Rascunho |
sent, delivered |
Em curso (delivered: alguém já abriu) |
correct |
A corrigir |
completed |
Concluído |
declined |
Recusado |
voided |
Anulado |
expired |
Expirado |
Estados do destinatário (status)
created (aguardando a vez), sent (enviado), delivered (visualizado), signed (assinado), completed (cópia
entregue na conclusão) e declined (recusou).
Limite de uso
Cada usuário pode fazer até 120 requisições por minuto. Acima disso, a API responde 429 Too Many Requests: espere
alguns segundos e tente de novo. Para acompanhar o andamento, prefira os webhooks a consultar a API
repetidamente.
Os limites do plano também valem pela API: um envelope enviado pela API conta na cota mensal de envelopes da conta, e os convites por WhatsApp ou SMS contam nas cotas de mensagens (veja Limites do plano).
Respostas de erro
| Código | Quando acontece |
|---|---|
401 |
token ausente, inválido, de usuário bloqueado ou de conta suspensa. Corpo: {"message": "Não autenticado."} |
403 |
o usuário não tem permissão para aquele envelope ou para enviar |
404 |
envelope inexistente, de outra conta, ou documento ainda não concluído |
422 |
dados inválidos ou pendências que impedem a operação |
429 |
limite de requisições por minuto atingido |
Nos erros 422, o corpo traz message e, em errors, a lista de problemas por campo:
{
"message": "Adicione um campo de assinatura para Maria Souza.",
"errors": {
"envelope": ["Adicione um campo de assinatura para Maria Souza."]
}
}
Fluxo típico de integração
- Crie um token em Configurações › Conta e guarde-o no cofre de segredos do seu sistema.
- Cadastre um webhook em Configurações › Webhooks com o evento
envelope.completed(veja Webhooks de saída). - Crie o envelope com
POST /envelopes, enviando os arquivos, os destinatários, os campos de assinatura esend=1. - Guarde o
iddo envelope que volta na resposta. - Quando o webhook
envelope.completedchegar, confira a assinatura (veja Validar a assinatura dos webhooks) e baixe o PDF assinado e o certificado comGET /envelopes/{id}/documents/finaleGET /envelopes/{id}/documents/certificate.
Dica: Envelopes criados pela API usam os padrões de lembretes e validade definidos pela conta em Configurações › Conta › Padrões dos envelopes (veja Dados da conta).
Problemas comuns
- Toda chamada responde 401. Confira se o cabeçalho é
Authorization: Bearerseguido do token completo (começa comods_). Veja Criar e usar um token de API. - O envelope foi criado, mas não foi enviado. Com
send=1, se faltar algo (por exemplo, o campo de assinatura de um signatário), a resposta é422e o envelope fica salvo como rascunho. Ele aparece em Envelopes › Rascunhos, onde você pode completar e enviar pelo app. - Recebo 422 em
send,signing_orderou outro campo booleano. Em formulários multipart, envie booleanos como1ou0, e não comotrueoufalse.
Este artigo foi útil?
Artigos relacionados
- Criar e usar um token de APIGere um token pessoal em Configurações › Conta, guarde-o com segurança e use-o no cabeçalho Authorization das chamadas.
- Referência dos endpointsTodos os endpoints da API v1 do ODSign, com método, caminho, parâmetros, respostas e exemplos em curl.
- Webhooks de saídaReceba no seu sistema um aviso a cada envio, visualização, assinatura, recusa, anulação e conclusão de envelopes.
- Validar a assinatura dos webhooksConfira o cabeçalho X-Signature (HMAC-SHA256 do corpo com o segredo do webhook) com exemplos em PHP e Node.js.