Utwórz zarządzane konto klienta
Utwórz odizolowane konto CloudPrint, App Installation i jednorazową rejestrację agenta bez rejestracji klienta.
Działanie metody
Utwórz odizolowane konto CloudPrint, App Installation i jednorazową rejestrację agenta bez rejestracji klienta.
Uwierzytelnianie
Przekaż jednorazowe potwierdzenie JWT Developer Application podpisane algorytmem RS256 w Authorization: Bearer <application_assertion>. Nie jest to token dostępu do Public API.
Żądanie
Podstawowy adres API: https://public-api.cloudprint.me/partner-api/v1/accounts
Parametry
| Nazwa | Położenie | Typ | Wymagane | Opis | Ograniczenia |
|---|---|---|---|---|---|
Idempotency-Key | header | string | tak | Stabilny klucz operacji: przy ponowieniu CloudPrint zwróci pierwotny wynik zamiast tworzyć duplikat. | minLength: 1; maxLength: 200 |
X-Request-Id | header | string | nie | Opcjonalny identyfikator do śledzenia żądania; CloudPrint zwróci bezpieczną wartość w nagłówku odpowiedzi. | maxLength: 128; example: "order-100045-attempt-1" |
Treść żądania
Typ zawartości: application/json
| Nazwa | Typ | Wymagane | Opis | Ograniczenia |
|---|---|---|---|---|
external_customer_id | string | tak | Stały identyfikator klienta w systemie integratora. Musi być unikalny w obrębie uwierzytelnionej Developer Application. | minLength: 1; maxLength: 160; example: "customer-42" |
name | string | tak | Czytelna nazwa zasobu widoczna dla operatorów konta. | minLength: 1; maxLength: 120; example: "Acme Store 42" |
permissions | array | nie | Uprawnienia instalacji zawarte w tym tokenie. | — |
agent_onboarding | object | tak | Jednorazowe dane podłączenia Agent utworzone dla zarządzanego klienta. | — |
Przykładowe żądania
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"
}
}'Odpowiedź
Status HTTP: 200 — Żądanie zostało wykonane.
Pola odpowiedzi
| Nazwa | Typ | Wymagane | Opis | Ograniczenia |
|---|---|---|---|---|
relationship_id | string (uuid) | tak | Stabilny UUID relacji partnera z zarządzanym klientem. | — |
developer_account_id | string (uuid) | tak | Stabilny UUID konta dewelopera, do którego należy relacja z klientem. | — |
cloudprint_account_id | string (uuid) | tak | Stabilny UUID konta CloudPrint utworzonego dla zarządzanego klienta. | — |
external_customer_id | string | tak | Stały identyfikator klienta w systemie integratora. Musi być unikalny w obrębie uwierzytelnionej Developer Application. | maxLength: 160 |
name | string | tak | Czytelna nazwa zasobu widoczna dla operatorów konta. | maxLength: 120 |
application_id | string (uuid) | tak | Stabilny identyfikator Developer Application reprezentowanej przez token instalacji. | — |
installation_id | string | null (uuid) | tak | Stabilny UUID App Installation, która autoryzowała token. | — |
agent_enrollment_id | string | null (uuid) | tak | Stabilny identyfikator Agent Enrollment. | — |
agent_onboarding_expires_at | string | null (date-time) | tak | Znacznik czasu CloudPrint w formacie ISO 8601. | — |
agent_onboarding_url | string | null (uri) | tak | Główny jednorazowy link do podłączenia agenta. Otwórz go w całości, nie zmieniaj i nie zapisuj w logach. | example: "https://connect.cloudprint.me/setup#token=cpat_example" |
onboarding_status | string | tak | Bieżący stan gotowości konfiguracji CloudPrint zarządzanego klienta. | enum: provisioning, waiting_for_agent, ready, failed |
status | string | tak | Bieżący stan zasobu lub procesu; użyj wartości dozwolonych dla danej metody. | enum: provisioning, active, suspended, closed |
created_at | string (date-time) | tak | Znacznik czasu CloudPrint w formacie ISO 8601. | — |
updated_at | string (date-time) | tak | Znacznik czasu CloudPrint w formacie ISO 8601. | — |
Przykładowa odpowiedź
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"
}Błędy
| Status HTTP | Opis |
|---|---|
401 | Brak uwierzytelnienia albo jest ono nieprawidłowe. |
403 | Brak uprawnień wymaganych do tej operacji. |
404 | Nie znaleziono żądanego zasobu. |
409 | Żądanie jest sprzeczne z bieżącym stanem zasobu. |
422 | Pola żądania nie przeszły walidacji. |
429 | Przekroczono limit żądań; zastosuj Retry-After. |
500 | Wewnętrzny błąd CloudPrint. |
Powiązana dokumentacja
Pobierz zarządzane konta klientówPobierz konta klientów utworzone przez uwierzytelnioną Developer Application wraz ze stanem agentów i drukarek.Utwórz Agent EnrollmentUtwórz jednorazowe podłączenie agenta, które można bezpiecznie ponowić przed pierwszym podłączeniem klienta lub po nim.Idempotentne tworzenie zadańZapobiegaj podwójnemu drukowi podczas ponawiania żądań po przekroczeniu limitu czasu lub błędzie sieci.