See the full guide: CKO-03 Direct Delivery and CKO-03 Home-Drop Delivery.

Endpoint

POST /api/v1/partner/external-checkout/complete

Authentication

X-Webhook-Secret header — your pre-shared webhook secret.

Request body

{
  "service_provider_document_id": "uuid",
  "plan_version_id": "uuid",
  "delivery_mode": "direct | home_drop",
  "location_hash": "10-char hex (direct delivery)",
  "unit_id": "uuid (home-drop only)",
  "subscriber": {
    "email": "string",
    "username": "string",
    "password": "string (optional)",
    "customer_type": "RESIDENTIAL | BUSINESS",
    "mac_address": "string (optional)",
    "invoice_contact_detail": { "firstname": "", "lastname": "", "email": "" },
    "contract_contact_detail": { "firstname": "", "lastname": "", "email": "" },
    "invoice_address": {
      "street": "", "housenumber": "", "postalcode": "",
      "city": "", "province": "", "country": "Canada"
    }
  }
}

Response — 200 OK (direct delivery)

{
  "job_id": "uuid",
  "subscription_id": "uuid",
  "subscriber_id": "uuid",
  "message": "Provisioning started"
}

Response — 200 OK (home-drop)

{
  "subscription_id": "uuid",
  "subscriber_id": "uuid",
  "message": "Subscription pending installation."
}

Error codes

StatusError
401Missing or invalid X-Webhook-Secret
403plan_version_id belongs to a different provider
404location_hash not found
422Invalid location_hash format or validation failure
400Plan version not active
429Rate limit exceeded (120 req/min)