NONE
Apenas assinatura criptográfica, sem elementos visuais.
API para aplicação de assinatura digital ICP-Brasil no padrão PAdES, com suporte a carimbo do tempo, selo visual, página de autenticação e integração com automações.
https://sign.pes2b.com
As requisições protegidas devem enviar a
chave da API no cabeçalho
X-API-Key.
X-API-Key: SUA_CHAVE
/api/v1/health
{
"success": true,
"message": "Serviço disponível.",
"data": {
"service": "pes2b-sign-service",
"status": "UP"
}
}
/api/v1/sign
Recebe um documento PDF convertido para Base64 e devolve o PDF assinado também em Base64.
{
"pdfBase64": "JVBERi0xLjQK..."
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
pdfBase64 |
String | Sim | Conteúdo integral do PDF codificado em Base64. |
{
"success": true,
"message": "Documento assinado com sucesso.",
"data": {
"signedPdfBase64": "JVBERi0xLjQK..."
}
}
O serviço pode operar com diferentes modos visuais, configurados no ambiente ou futuramente enviados por requisição.
Apenas assinatura criptográfica, sem elementos visuais.
Selo de assinatura em todas as páginas.
Página final de autenticação com QR Code.
Selo em todas as páginas e página final premium.
curl --request POST \
"https://sign.pes2b.com/api/v1/sign" \
--header "Content-Type: application/json" \
--header "X-API-Key: SUA_CHAVE" \
--data '{
"pdfBase64": "JVBERi0xLjQK..."
}'
const response = await fetch(
"https://sign.pes2b.com/api/v1/sign",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": process.env.PES2B_API_KEY
},
body: JSON.stringify({
pdfBase64
})
}
);
if (!response.ok) {
throw new Error(
`Erro ao assinar PDF: ${response.status}`
);
}
const result = await response.json();
const signedPdfBase64 =
result.data.signedPdfBase64;
Use um node HTTP Request.
Método POST para
/api/v1/sign.
Envie o cabeçalho
X-API-Key.
Use o body JSON com
pdfBase64.
Reconstrua o arquivo usando
data.signedPdfBase64.
| Código | HTTP | Descrição |
|---|---|---|
INVALID_REQUEST |
400 | Requisição inválida. |
INVALID_JSON |
400 | JSON inválido. |
INVALID_PDF |
400 | Conteúdo não corresponde a um PDF válido. |
FILE_TOO_LARGE |
400 | Arquivo superior ao limite permitido. |
TIMESTAMP_ERROR |
400 | Falha ao obter o carimbo do tempo. |
INTERNAL_ERROR |
500 | Erro interno ao processar o documento. |
{
"success": false,
"code": "INVALID_PDF",
"message": "O conteúdo informado não corresponde a um PDF válido.",
"requestId": "e4bcb98e-f87f-45bc-b8d7-55f9ebf84f15",
"timestamp": "2026-07-11T18:30:00-03:00",
"path": "/api/v1/sign"
}