API pública
Contagem de prazos para equipas jurídicas portuguesas
Calcula prazos, sincroniza processos e recebe eventos assinados por webhook com contratos versionados por data.
Motor atual: 2.2.2. A fundamentação respeita o meio de notificação escolhido, sem citar a presunção postal quando esta não se aplica. As datas calculadas não mudam.
Os prazos podem incluir o estado archived. As listagens preservam os registos arquivados; os calendários omitem esses prazos.
Contrato
Cada chave de API continua ligada à equipa que a emitiu. Mudar o workspace no portal não altera o âmbito da chave. Criar equipas e gerir links de entrada exige sessão Better Auth no portal. Cada conta guarda a sua equipa ativa. Após a migração, é necessário iniciar sessão novamente.
Limites de pedidos
Os pedidos têm limites partilhados por IP e operação, além dos limites da chave de API. Ao receber HTTP 429, aguarda o número de segundos indicado em Retry-After. HTTP 503 pode indicar indisponibilidade temporária do contador. O SDK disponibiliza PrazosError.retryAfterSeconds e não repete operações automaticamente.
Calcular prazo
curl -X POST https://contarprazos.pt/api/deadline-calculations \
-H "Authorization: Bearer $PRAZOS_API_KEY" \
-H "X-Prazos-API-Version: 2026-05-19" \
-H "Content-Type: application/json" \
-d '{
"startDate": "2026-05-04",
"amount": 10,
"unit": "dias",
"kind": "processual",
"notificationKind": "nenhuma"
}'Sincronizar processo
curl -X POST https://contarprazos.pt/api/processes/sync \
-H "Authorization: Bearer $PRAZOS_API_KEY" \
-H "X-Prazos-API-Version: 2026-05-19" \
-H "Idempotency-Key: process-kleos-123-v1" \
-H "Content-Type: application/json" \
-d '{
"externalId": "kleos-123",
"name": "Processo principal",
"tags": ["civil"]
}'SDK TypeScript
import { PrazosClient } from "@prazos/sdk";
const client = new PrazosClient({ apiKey: process.env.PRAZOS_API_KEY! });
const { calculation } = await client.deadlines.calculate({
startDate: "2026-05-04",
amount: 10,
unit: "dias",
kind: "processual",
});
console.log(calculation.deadline, calculation.rulesVersion);Webhooks
Entregas usam X-Prazos-Signature no formato t=<unix>,v1=<hmac>. O HMAC é SHA-256 sobre <unix>.<body> com o segredo mostrado na criação do webhook.
Callbacks de notificações
O callback de estado da Twilio aceita apenas formulários assinados em X-Twilio-Signature. O recetor provider-neutral exige um bearer token dedicado em NOTIFICATION_EVENTS_SECRET; ambos permanecem fechados quando a respetiva configuração não existe.