Obtenir el segell d'un registre mensual
Obtén el segell digital d'un registre de jornada mensual pel id (UUID v7) del tancament, juntament amb el seu estat de verificació recomputat en viu contra la instantània actual: verified és true quan la instantània i la signatura estan intactes; en un altre cas verification_reason explica el desajust (snapshot_mismatch, signature_invalid o certificate_unreadable). El segell exposa el seu digest, signatura i certificat de signatura perquè un tercer pugui verificar-lo. Un tancament sense segell — o pertanyent a una altra empresa — retorna 404 monthly_register_signature_not_found (anti-enumeració).
A: header
Paràmetres de ruta
Paràmetres de capçalera
Fixa la versió de l'API (YYYY-MM-DD, versionat per data estil Stripe) per a aquesta petició; omet-lo per usar la versió fixada de la clau, o l'última si no n'hi ha cap. Versió no suportada → 400 unsupported_api_version; mal formada → 400 parameter_invalid_format. La versió efectiva es reflecteix a la capçalera de resposta Factuarea-Version. Consulta la guia de Versioning.
dateOpera en nom d'una empresa filla (API key mestra de gestoria): passa el seu id públic (UUID v7) i la petició s'executa contra les dades d'aquella filla sense canviar l'scope, el tier ni l'environment de la clau (omet-lo per usar la pròpia empresa de la clau). UUID no vàlid → 400 parameter_invalid_uuid; id desconegut o no propi → 404 profile_not_found. Consulta la guia d'Acting on behalf.
uuidCos de la resposta
application/json
application/json
application/json
application/json
application/json
application/json
import { Factuarea } from "@factuarea/sdk";const factuarea = new Factuarea({ apiKey: process.env.FACTUAREA_API_KEY! });const result = await factuarea.monthlyTimeRecordCloses.sealShow("01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a01");{
"data": {
"id": "01933a41-15ba-74c6-8cd3-ad1e2f3a4b01",
"object": "monthly_register_signature",
"monthly_time_record_close_id": "01933a40-04a9-73b5-9bc2-9c0d1e2f3a01",
"digest": {
"algorithm": "sha256",
"value": "9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08"
},
"signature": {
"algorithm": "RSA-SHA256",
"value": "MEUCIQD8pXn0m2rT1cZ0Yb9k3Qq7Jc1oV9Wm5nX2sQe4rT8AgIgH1kL0pN3vB6yD9fR2sT4uW7xY0zA1bC3dE5fG8hI2k="
},
"certificate": {
"serial_number": "3A:7F:1C:9E:2D:0B:44:8A",
"subject_name": "ACME SOLUTIONS SL",
"thumbprint": "A1B2C3D4E5F60718293A4B5C6D7E8F901A2B3C4D5E6F708192A3B4C5D6E7F8090",
"valid_to": "2027-11-30T23:59:59Z"
},
"sealed_by_id": "01933a1f-8c21-7b3d-9e4f-1a2b3c4d5ecc",
"sealed_at": "2026-05-02T08:05:00Z",
"verified": true,
"verification_reason": "verified"
}
}{
"error": {
"type": "authentication_error",
"code": "missing_api_key",
"message": "No se ha proporcionado una API key válida en el header Authorization.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#missing_api_key",
"request_id": "req_01HKQS5N8VR7QXJ9K3T6BWPMZA"
}
}{
"error": {
"type": "authorization_error",
"code": "insufficient_scope",
"message": "Esta API key no tiene el scope requerido para esta operación.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#insufficient_scope",
"request_id": "req_01HKQS5NBC3P8M1KX4V7SLNHQD"
}
}{
"error": {
"type": "not_found_error",
"code": "resource_not_found",
"message": "El recurso solicitado no existe o pertenece a otra empresa.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#resource_not_found",
"request_id": "req_01HKQS5NEQ6X1R4N9B0C5DWTPG"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Has excedido el rate limit de 60 peticiones por minuto. Reintenta tras 30 segundos.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#rate_limit_exceeded",
"request_id": "req_01HKQS5NKW1C6W9T4G5H0JBZVL"
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "Ha ocurrido un error inesperado. Si persiste, contacta con soporte adjuntando el request_id.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#internal_error",
"request_id": "req_01HKQS5NLX2D7X0U5H6J1KCAWM"
}
}