Przejdź do treści

Utwórz zarządzane konto klienta

Utwórz odizolowane konto CloudPrint, App Installation i jednorazową rejestrację agenta bez rejestracji klienta.

POST/partner-api/v1/accountsWersja API: v1operationId: createPartnerManagedAccountOtwórz w Markdown

Działanie metody

Utwórz odizolowane konto CloudPrint, App Installation i jednorazową rejestrację agenta bez rejestracji klienta.

Uwierzytelnianie

Przekaż jednorazowy assertion RS256 Developer Application 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

NazwaPołożenieTypWymaganeOpisOgraniczenia
Idempotency-KeyheaderstringtakPole kontraktu API; uwzględnij podany typ i ograniczenia.minLength: 1; maxLength: 200

Treść żądania

Typ zawartości: application/json

NazwaTypWymaganeOpisOgraniczenia
external_customer_idstringtakStabilny identyfikator tego zasobu.minLength: 1; maxLength: 160; example: "customer-42"
namestringtakPole kontraktu API; uwzględnij podany typ i ograniczenia.minLength: 1; maxLength: 120; example: "Acme Store 42"
permissionsarraynieUprawnienia instalacji zawarte w tym tokenie.
agent_onboardingobjecttakPole kontraktu API; uwzględnij podany typ i ograniczenia.

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

NazwaTypWymaganeOpisOgraniczenia
relationship_idstring (uuid)takStabilny identyfikator tego zasobu.
developer_account_idstring (uuid)takStabilny identyfikator tego zasobu.
cloudprint_account_idstring (uuid)takStabilny identyfikator tego zasobu.
external_customer_idstringtakStabilny identyfikator tego zasobu.maxLength: 160
namestringtakPole kontraktu API; uwzględnij podany typ i ograniczenia.maxLength: 120
application_idstring (uuid)takStabilny identyfikator Developer Application reprezentowanej przez token instalacji.
installation_idstring | null (uuid)takStabilny UUID App Installation, która autoryzowała token.
agent_enrollment_idstring | null (uuid)takStabilny identyfikator tego zasobu.
agent_onboarding_expires_atstring | null (date-time)takZnacznik czasu CloudPrint w formacie ISO 8601.
agent_onboarding_urlstring | null (uri)takPole kontraktu API; uwzględnij podany typ i ograniczenia.example: "https://connect.cloudprint.me/setup#token=cpat_example"
onboarding_statusstringtakPole kontraktu API; uwzględnij podany typ i ograniczenia.enum: provisioning, waiting_for_agent, ready, failed
statusstringtakBieżący stan zasobu lub procesu; użyj wartości dozwolonych dla danej metody.enum: provisioning, active, suspended, closed
created_atstring (date-time)takZnacznik czasu CloudPrint w formacie ISO 8601.
updated_atstring (date-time)takZnacznik 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": null,
  "agent_enrollment_id": null,
  "agent_onboarding_expires_at": null,
  "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 HTTPOpis
401Brak uwierzytelnienia albo jest ono nieprawidłowe.
403Brak uprawnień wymaganych do tej operacji.
404Nie znaleziono żądanego zasobu.
409Żądanie jest sprzeczne z bieżącym stanem zasobu.
422Pola żądania nie przeszły walidacji.
429Przekroczono limit żądań; zastosuj Retry-After.
500Wewnętrzny błąd CloudPrint.

Wskazówki integracyjne

Powiązana dokumentacja

Przewodniki dotyczące integracji CloudPrint, podłączania lokalnego agenta i obsługi procesów drukowania.