Saltar al contenido

Crear una cuenta de cliente gestionada

Crea una cuenta CloudPrint aislada, una App Installation y un Agent Enrollment de un solo uso sin registro del cliente.

POST/partner-api/v1/accountsVersión de la API: v1operationId: createPartnerManagedAccountVer como Markdown

Qué hace este método

Crea una cuenta CloudPrint aislada, una App Installation y un Agent Enrollment de un solo uso sin registro del cliente.

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/partner-api/v1/accounts

Parámetros

NombreUbicaciónTipoObligatorioDescripciónRestricciones
Idempotency-KeyheaderstringClave estable generada por el cliente para que los reintentos devuelvan el resultado original sin crear duplicados.minLength: 1; maxLength: 200
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
external_customer_idstringIdentificador estable que el integrador asigna al cliente en su propio sistema.minLength: 1; maxLength: 160; example: "customer-42"
namestringNombre legible del recurso que ven los operadores de la cuenta.minLength: 1; maxLength: 120; example: "Acme Store 42"
permissionsarraynoPermisos aprobados para la App Installation.
agent_onboardingobjectDatos de un solo uso para conectar el agente del cliente gestionado.

Ejemplos de solicitud

cURL

bash
curl -sS https://public-api.cloudprint.me/partner-api/v1/accounts \
  -H "Authorization: Bearer $APPLICATION_ASSERTION" \
  -H 'Idempotency-Key: customer-42-provision-v1' \
  -H 'Content-Type: application/json' \
  -d '{
    "external_customer_id": "customer-42",
    "name": "Acme Store 42",
    "permissions": ["printers:read", "documents:write", "print_jobs:write", "print_jobs:read"],
    "agent_onboarding": {
      "return_uri": "https://app.integrator.example/cloudprint/callback",
      "state": "single-use-random-state"
    }
  }'

Respuesta

Estado HTTP: 200 — Solicitud completada.

Campos de respuesta

NombreTipoObligatorioDescripciónRestricciones
relationship_idstring (uuid)UUID estable de la relación entre el partner y el cliente gestionado.
developer_account_idstring (uuid)UUID estable de la cuenta de desarrollador propietaria de la relación.
cloudprint_account_idstring (uuid)UUID estable de la cuenta CloudPrint creada para el cliente gestionado.
external_customer_idstringIdentificador estable que el integrador asigna al cliente en su propio sistema.maxLength: 160
namestringNombre legible del recurso que ven los operadores de la cuenta.maxLength: 120
application_idstring (uuid)Identificador estable de la Developer Application asociada al recurso.
installation_idstring | null (uuid)UUID estable de la App Installation asociada al recurso.
agent_enrollment_idstring | null (uuid)Identificador estable del Agent Enrollment.
agent_onboarding_expires_atstring | null (date-time)Marca de tiempo ISO 8601 registrada por CloudPrint.
agent_onboarding_urlstring | null (uri)Enlace canónico de un solo uso para conectar un agente. Ábrelo completo, sin modificarlo, y no lo guardes en los registros.example: "https://connect.cloudprint.me/setup#token=cpat_example"
onboarding_statusstringEstado actual de preparación de CloudPrint para el cliente gestionado.enum: provisioning, waiting_for_agent, ready, failed
statusstringEstado actual del recurso o flujo; usa los valores enum específicos del método.enum: provisioning, active, suspended, closed
created_atstring (date-time)Marca de tiempo ISO 8601 registrada por CloudPrint.
updated_atstring (date-time)Marca de tiempo ISO 8601 registrada por CloudPrint.

Ejemplo de respuesta

json
{
  "relationship_id": "11111111-1111-4111-8111-111111111111",
  "developer_account_id": "11111111-1111-4111-8111-111111111111",
  "cloudprint_account_id": "11111111-1111-4111-8111-111111111111",
  "external_customer_id": "string",
  "name": "string",
  "application_id": "11111111-1111-4111-8111-111111111111",
  "installation_id": "11111111-1111-4111-8111-111111111111",
  "agent_enrollment_id": "11111111-1111-4111-8111-111111111111",
  "agent_onboarding_expires_at": "2026-08-06T12:00:00Z",
  "agent_onboarding_url": "https://connect.cloudprint.me/setup#token=cpat_example",
  "onboarding_status": "provisioning",
  "status": "provisioning",
  "created_at": "2026-08-06T12:00:00Z",
  "updated_at": "2026-08-06T12:00:00Z"
}

Errores

Estado HTTPDescripción
401Falta la autenticación o no es válida.
403El token no tiene permisos suficientes.
404No se encontró el recurso.
409La solicitud entra en conflicto con el estado actual.
422Uno o varios campos no son válidos.
429Se superó el límite de solicitudes; respeta Retry-After.
500Error interno de CloudPrint.

Documentación relacionada

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