Guia d'integració

Provar l’API amb un token demo

Pots sol·licitar un token sk_demo_ sense compte ni alta d’una organització. Dura 24 hores des de l’emissió i només funciona des de la IP pública que l’ha sol·licitat. Si canvies de xarxa o d’IP, cal sol·licitar un altre token.

Utilitza només dades fictícies. Cada pàgina del PDF mostra SENSE VALIDESA al costat del logo i una marca diagonal DEMO. Aquests documents no serveixen per transportar mercaderies ni com a documents administratius vàlids.

1. Sol·licitar el token

Envia un objecte JSON buit a aquest endpoint públic. No necessita cap capçalera Bearer. La resposta 201 conté token i expires_at; la data de caducitat s’expressa en UTC.

Pots incloure document_locale en sol·licitar el token: es, ca, gl, ca-valencia, eu, en, pt-pt o fr. Per exemple, {"document_locale":"en"} genera els seus PDF en anglès. Sense aquest camp s’utilitza es. La resposta inclou l’idioma triat; per canviar-lo sol·licita un token nou.

TerminalCodi
curl 'https://deca.sertecpesage.com/api/v1/demo/tokens' \ --request POST \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --data '{}'
JSONCodi
{ "token": "sk_demo_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef", "expires_at": "2026-10-07T11:00:00Z", "document_locale": "es" }

2. Emetre un document d’exemple

Desa aquest JSON com a document.json. La demostració utilitza les mateixes rutes i camps del contracte habitual i valida les dades del transport. Els noms, les adreces i les referències de l’exemple són ficticis.

JSONCodi
{ "reference": "DEMO-001", "transport_date": "2026-10-06", "shipper": { "name": "Empresa de ejemplo, S. L.", "tax_country": "ES", "tax_id": "B12345674", "address": { "street": "Calle de Ejemplo, 1", "postal_code": "08040", "city": "Barcelona", "country": "ES" } }, "carrier": { "name": "Transportes de ejemplo, S. L.", "tax_country": "ES", "tax_id": "B87654323" }, "origin": { "place": "Almacén de ejemplo", "city": "Barcelona", "country": "ES" }, "destination": { "place": "Centro de ejemplo", "city": "Zaragoza", "country": "ES" }, "goods": { "description": "Mercancía de demostración", "weight_kg": "1850.000" }, "vehicle": { "country": "ES", "registration": "4827 MNL" }, "metadata": { "example": true } }

Envia la petició des de la mateixa IP i substitueix YOUR_DEMO_TOKEN pel token rebut:

TerminalCodi
curl 'https://deca.sertecpesage.com/api/v1/documents' \ --request POST \ --header 'Authorization: Bearer YOUR_DEMO_TOKEN' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --data @document.json

La resposta conté uuid, url, qr, pdf_download_url, normalized_data, metadata, rectifies_uuid i document_locale, com l’API habitual. La demo hi afegeix expires_at, qr_url i pdf_url. Desa el UUID i utilitza les URL rebudes.

Només a la demo es retorna també demo: true; el PDF utilitza el document_locale triat en sol·licitar el token, per defecte es. qr_url és un àlies de url i pdf_url de pdf_download_url.

3. Consultar i obrir el PDF

Pots llistar, consultar, rectificar i eliminar documents amb les operacions de la referència de l’API. Les crides Bearer continuen exigint el mateix token i la mateixa IP. Per consultar el document:

TerminalCodi
curl 'https://deca.sertecpesage.com/api/v1/documents/DOCUMENT_UUID' \ --header 'Authorization: Bearer YOUR_DEMO_TOKEN' \ --header 'Accept: application/json'

El QR obre el PDF directament al navegador mitjançant /demo/d/{uuid}?k=..., sense Bearer. Tant el document com els enllaços caduquen amb la sessió demo; crear o rectificar un document no allarga la durada del token.

Un token demo caducat o enviat des d’una altra IP retorna 401. Un QR demo caducat retorna 404. Si la demo està desactivada, retorna 503 DEMO_UNAVAILABLE. El primer accés al QR o una rectificació impedeixen eliminar el document; es mantenen les confirmacions d’esborrament del contracte habitual.

Caducitat, límits i privacitat

La demo té un emmagatzematge temporal propi, separat dels usuaris, les organitzacions i els documents reals. Les seves dades i PDF no tenen les garanties de xifratge ni els terminis de conservació de l’arxiu real. No enviïs dades personals, secrets ni documents de transports reals.

El token, els documents i els enllaços caduquen a les 24 hores des de l’emissió del token; l’esborrament de l’emmagatzematge actiu s’executa periòdicament. Les còpies de Hostinger dels darrers set dies i les còpies manuals anteriors a l’esborrament poden conservar dades demo fins que es retirin. La caducitat no implica una eliminació irreversible de totes les còpies.

La demo admet cossos de fins a 32 KiB i deu documents per sessió. L’emissió de tokens admet tres per minut i deu per hora des d’una mateixa IP; la creació, cinc per minut i vint per hora des d’una mateixa IP. Els límits compartits per xarxa, regió i càrrega global es poden aplicar abans. Aquestes xifres corresponen a la configuració predeterminada.

Hi ha límits d’emissió, peticions, documents i descàrregues per evitar abusos. També s’apliquen controls per IP, xarxa, regió i càrrega global; els límits compartits poden impedir una petició encara que el teu token no els hagi assolit. En rebre 429, espera els segons indicats a Retry-After.

El control per regió no crida cap servei de geolocalització d’IP. Només utilitza CF-IPCountry quan la petició arriba des d’un proxy verificat inclòs a DEMO_TRUSTED_GEO_PROXIES, que ha de sobreescriure les capçaleres de Cloudflare. Des d’altres orígens, aquestes capçaleres s’ignoren i totes les peticions comparteixen el bucket regional unverified; no s’atribueixen a un país comprovat.

Protegeix el token i el secret k dels enllaços; no els publiquis ni els incloguis als registres. Per a una integració permanent, sol·licita accés a SERTEC PESAGE. Els entorns sk_test_ i sk_live_ mantenen les seves pròpies regles i dades.

Última modificació: