Obtener las dimensiones de una página

POST
/api/pdf/pageData

Devuelve el tamaño y la rotación de una página, para que calcules los rectángulos de los stickers y caigan donde esperas en vez de adivinar entre Carta y A4.

Vale la pena llamarlo antes de colocar stickers en un documento que no generaste tú: rect va en unidades de PDF medidas desde la esquina inferior izquierda, y una página rotada o de un tamaño inusual deja un rectángulo fijo en el lugar equivocado.

multipart/form-data con dos campos: file y page.

Authorization<token>

Cada petición lleva Authorization: signmage {webId}:{firma}, donde firma es el Base64 de HMAC-SHA256(apiKey, cadenaFirmada).

Qué va dentro de cadenaFirmada depende de la petición:

PeticióncadenaFirmada
GETLa URI completa incluyendo el query string, exactamente como se envía
POST con JSONEl cuerpo JSON, re-serializado compacto (sin espacios ni salto de línea final)
POST multipartEl SHA-256 en Base64 del archivo, que además se manda en el header Content-SHA256

Dos detalles que conviene resolverlos desde el principio:

  1. En GET, la URI se firma tal como se envía, así que el orden y el encoding de los parámetros importan.
  2. En POST, la comparación se hace contra tu JSON re-serializado en forma compacta. Manda JSON compacto y canónico para que las firmas coincidan.

Una firma que no coincide devuelve 401 con el cuerpo vacío. Como la misma respuesta cubre un web ID desconocido, una llave inactiva y una firma que no coincide, revisa las tres cosas al diagnosticar.

En: header

Cuerpo de la petición

multipart/form-data

Definiciones de TypeScript

Usa el tipo request body en TypeScript.

Cuerpo de la respuesta

application/json

text/plain

curl -X POST "https://example.com/api/pdf/pageData" \  -F file="string" \  -F page="first"
{  "width": 612,  "height": 792,  "totalPages": 3}