Operações
Consultar status
Retorna o status atual de uma operação e de cada assinante, com o progresso das assinaturas.
Mostra em que ponto a operação está. Em uma única chamada você recebe o status da operação, quantos assinantes já concluíram e a situação de cada participante.
Para reagir a mudanças, prefira os webhooks. Use esta consulta para exibir o andamento sob demanda ou para conferir o estado quando um webhook não chegou.
Endpoint
Authorization
ApiKey X-Api-Key<token>
Token de integracao. Envie no header X-Api-Key.
In: header
Path Parameters
operationId*integer
Format
int64Header Parameters
Response Body
curl -X GET "https://example.com/api/v2/operation/0/status"{
"data": {
"operation": {
"name": "string",
"status": "InProgress",
"stage": "WaitingToSend",
"createdAt": "2019-08-24T14:15:22Z",
"expirationDate": "2019-08-24T14:15:22Z",
"completedAt": "2019-08-24T14:15:22Z",
"progressCurrent": 0,
"progressTotal": 0
},
"members": [
{
"name": "string",
"email": "string",
"role": "string",
"order": 0,
"observer": true,
"status": "Create",
"stage": "WaitingToSend",
"completedAt": "2019-08-24T14:15:22Z"
}
]
}
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Sem body. O operationId na URL é o ID da operação, o campo id retornado em
Criar operação.
Exemplo
curl "https://api.forsign.digital/api/v2/operation/4821/status" \
-H "X-Api-Key: $API_KEY"const resp = await fetch(`https://api.forsign.digital/api/v2/operation/${operationId}/status`, {
headers: { 'X-Api-Key': apiKey },
});
const { data } = await resp.json();
console.log(`${data.operation.progressCurrent}/${data.operation.progressTotal} assinaturas`);var resp = await http.GetAsync($"/api/v2/operation/{operationId}/status");
resp.EnsureSuccessStatusCode();
var json = await resp.Content.ReadAsStringAsync();Resposta de sucesso (200)
{
"data": {
"operation": {
"name": "Contrato de prestação de serviços",
"status": "InProgress",
"stage": "Signature",
"createdAt": "2026-09-22T14:03:11Z",
"expirationDate": "2026-10-22T23:59:59Z",
"completedAt": null,
"progressCurrent": 1,
"progressTotal": 2
},
"members": [
{
"name": "Maria Souza",
"email": "[email protected]",
"role": "Contratante",
"order": 1,
"observer": false,
"status": "Completed",
"stage": "Completed",
"completedAt": "2026-09-22T15:40:02Z"
},
{
"name": "João Lima",
"email": "[email protected]",
"role": "Contratado",
"order": 2,
"observer": false,
"status": "InProgress",
"stage": "Signature",
"completedAt": null
}
]
}
}Campos da operação
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Nome da operação. |
status | string | Status da operação. Veja os valores. |
stage | string | Etapa em que a operação está. Mesmos valores da etapa do assinante. |
createdAt | datetime | Data de criação. |
expirationDate | datetime | null | Data de vencimento, se houver. |
completedAt | datetime | null | Preenchido apenas quando status é Completed. |
progressCurrent | int | Quantos assinantes já concluíram. |
progressTotal | int | Total de assinantes. Observadores não entram na conta. |
Campos de cada participante (members[])
| Campo | Tipo | Descrição |
|---|---|---|
name / email | string | Dados do participante. |
role | string | null | Papel informado na criação (ex.: Contratante). |
order | int | Posição na ordem de assinatura. |
observer | bool | true = só observa, não assina. |
status | string | Create, InProgress, Completed ou Canceled. |
stage | string | Etapa do participante. Veja os valores. |
completedAt | datetime | null | Preenchido apenas quando status é Completed. |
Status da operação
| Valor | Significado |
|---|---|
InProgress | Em andamento. |
Completed | Concluída: todos assinaram e os PDFs finais foram gerados. |
Canceled | Cancelada. |
Expired | Venceu antes de ser concluída. |
OperationCreated, WaitingNotify, WaitingSignatures, WaitingForms, CheckingAttachments | Estados intermediários do andamento. Trate como "em andamento". |
Etapas
WaitingToSend, Sent, Authentication, Form, Attachments, Signature,
Completed, Others.
Comportamento e gotchas
- Enums vêm como texto (
"Completed"), não como número. - Assinante cancelado continua na lista com
status = Canceled. Filtre porstatusse só quiser os ativos. - A consulta não altera nada na operação e pode ser repetida à vontade.
Erros comuns
| Status | Causa | Como resolver |
|---|---|---|
401 | API key ausente ou inválida | Confira o header X-Api-Key. |
404 | Operação não encontrada | Confira o id. A operação pode não existir na sua conta, ou a chave não tem acesso a ela. |