Docs
Anexos

Rejeitar anexos

Devolve o anexo para o assinante com motivo — ele recebe notificação e pode reenviar.

Devolve o anexo: ReviewProgress. O arquivo enviado é excluído do armazenamento e uma notificação é enviada ao assinante com o reason que você passou, pedindo um reenvio do anexo. Se o assinante já assinou, a assinatura não é afetada — ele só reenvia o arquivo, não assina de novo.

Rejeitar apaga o arquivo. O arquivo enviado é removido permanentemente do armazenamento. Se você precisava arquivar o anexo antes de recusar, baixe primeiro.

Só funciona enquanto a operação está em andamento. Depois de finalizada, a chamada retorna 403 — o documento já está selado e com trilha de auditoria. Pra ter tempo de revisar anexos antes de fechar, use finalização manual.

O que acontece em uma rejeição

Arquivo excluído

O arquivo enviado é removido do armazenamento. O slot do anexo continua existindo, agora em Progress.

Pendência de reenvio

O membro fica com uma pendência de reenvio do anexo — ele não precisa (nem pode) assinar de novo.

Notificação ao assinante

Uma notificação é enviada ao assinante. É ela que dispara email/SMS/WhatsApp, conforme o canal configurado na operação.

Operação atômica por chamada

A lista rejectedAttachments é processada em uma única transação. Se um ID falhar, nenhum é rejeitado.

Endpoint

POST
/api/v2/attachment/reject
X-Api-Key<token>

Token de integracao. Envie no header X-Api-Key.

In: header

Header Parameters

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

curl -X POST "https://example.com/api/v2/attachment/reject" \  -H "Content-Type: application/json" \  -d '{}'
Empty

Body

{
  "operationMemberId": 4321,
  "rejectedAttachments": [
    {
      "id": 12345,
      "reason": "Foto borrada — favor tirar nova selfie em ambiente iluminado."
    },
    {
      "id": 12346,
      "reason": "Documento ilegível na parte da foto."
    }
  ]
}
CampoTipoObrigatórioNotas
operationMemberIdlongsimID do assinante dono dos anexos. Precisa ser > 0.
rejectedAttachmentsarraysimPelo menos um item.
rejectedAttachments[].idlongsimID do anexo. Precisa ser > 0.
rejectedAttachments[].reasonstringsimObrigatório. Chega ao assinante na notificação.

reason é obrigatório. A API rejeita null/string vazia — não dá pra "rejeitar sem motivo". Escreva uma instrução acionável (o que está errado + como corrigir) — isso economiza um ciclo de envio.

Fluxo após rejeitar

  1. Anexos passam para Progress, arquivos físicos são apagados.
  2. O status do membro volta para InProgress.
  3. Uma entrada de timeline é registrada para o anexo (ou para a autenticação, se o anexo era de autenticação).
  4. Uma notificação é enviada ao assinante.
  5. Assinante acessa o portal, vê o anexo marcado com a sua reason, e reenvia apenas o arquivo (sem assinar de novo).
  6. O novo upload aparece em Listar anexos por membro com isUploaded: true (status interno Review), esperando nova avaliação.

Resposta

200 OK. Não há corpo de dados — só a mensagem em messages:

{
  "success": true,
  "statusCode": 200,
  "messages": [{ "value": "..." }]
}

Erros comuns

StatusCasoDetalhe
400rejectedAttachments vazio, id <= 0 ou reason vazioFalha de validação do corpo.
400Anexo já está Completed (aprovado)O anexo já estava aprovado.
403Membro não existe ou pertence a outra conta
403Operação já finalizada
403API key sem permissão de edição na operação
404id informado não existe naquele membroAnexo não encontrado.

Veja também

On this page