Saltar al contenido

Emitir un token de App Installation ​

Autentica una Developer Application con una aserción RS256 de un solo uso y emite un token de corta duración para una App Installation aprobada.

POST/developer-api/v1/app-installations/{installationId}/access-tokensVersión de la API: v1operationId: issueInstallationAccessTokenVer como Markdown

Qué hace este método ​

Autentica una Developer Application con una aserción RS256 de un solo uso y emite un token de corta duración para una App Installation aprobada.

Autenticación ​

Envía una aserción RS256 de un solo uso de la Developer Application en Authorization: Bearer <application_assertion>. No es un token de acceso de Public API.

Solicitud ​

URL de producción: https://public-api.cloudprint.me/developer-api/v1/app-installations/{installationId}/access-tokens

Parámetros ​

NombreUbicaciónTipoObligatorioDescripciónRestricciones
installationIdpathstring (uuid)síUUID estable de la App Installation asociada por el integrador.—
X-Request-IdheaderstringnoIdentificador opcional para rastrear la solicitud; CloudPrint devuelve un valor seguro en la cabecera de respuesta.maxLength: 128; example: "order-100045-attempt-1"

Cuerpo de la solicitud ​

Tipo de contenido: application/json

NombreTipoObligatorioDescripciónRestricciones
permissionsarraynoPermisos aprobados para la App Installation.—

Ejemplos de solicitud ​

cURL ​

bash
curl -sS https://public-api.cloudprint.me/developer-api/v1/app-installations/$INSTALLATION_ID/access-tokens \
  -H "Authorization: Bearer $APPLICATION_ASSERTION" \
  -H 'Content-Type: application/json' \
  -d '{"permissions":["documents:write","print_jobs:write"]}'

Respuesta ​

Estado HTTP: 200 — Solicitud completada.

Campos de respuesta ​

NombreTipoObligatorioDescripciónRestricciones
access_tokenstringsíToken Bearer OAuth2 de corta duración para solicitudes a Public API.example: "eyJ..."
token_typestringsíTipo de token OAuth2; Public API usa Bearer.enum: Bearer
expires_inintegersíDuración del token de acceso en segundos desde su emisión.min: 1; example: 3600
installation_idstring (uuid)síUUID estable de la App Installation asociada al recurso.—
account_idstring (uuid)síUUID estable de la cuenta CloudPrint propietaria del recurso.—
permissionsarraysíPermisos aprobados para la App Installation.—

Ejemplo de respuesta ​

json
{
  "access_token": "eyJ...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "installation_id": "11111111-1111-4111-8111-111111111111",
  "account_id": "11111111-1111-4111-8111-111111111111",
  "permissions": [
    "agents:read"
  ]
}

Errores ​

Estado HTTPDescripción
401Falta la autenticación o no es válida.
403El token no tiene permisos suficientes.
422Uno o varios campos no son válidos.
429Se superó el límite de solicitudes; respeta Retry-After.
500Error interno de CloudPrint.

Recomendaciones de integración ​

  • Crea una aserción nueva para cada solicitud: RS256, el kid activo, el client_id en iss y sub, la URL exacta del método en aud, una duración máxima de cinco minutos y un jti único.
  • Asocia el installation_id estable a tu cliente. El método no acepta el identificador externo del cliente.
  • No se emite un token de actualización. Conserva el token hasta poco antes de expires_in y emite otro sin repetir la instalación.

Documentación relacionada ​

Guías para integrar CloudPrint, conectar el agente local y operar flujos de impresión.