Ciloo · AsyncAPI Specification
Ciloo Printer Webhooks
Version
View Spec
View on GitHub
CompanyPrintingBranded MerchandisePromotional ProductsPrint On DemandeCommerceDigital Asset ManagementProcurementFulfillmentMarketingAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-12'
method: searched
source: https://api.cilooprint.com/printer-api-integration/
spec_type: none
note: >-
Ciloo publishes no AsyncAPI document. It does publish a real, bidirectional event surface — the Ciloo
Printer API Integration — in which Ciloo POSTs orders out to a production partner's own endpoint and
the partner POSTs production and shipping status callbacks back to a Ciloo-owned callback URL. This
file is the webhook/callback catalog transcribed from that published page; the payloads below are the
provider's own documented examples. Nothing here is inferred.
surface:
name: Ciloo Printer API Integration
direction: bidirectional
docs: https://api.cilooprint.com/printer-api-integration/
authentication: >-
Printer-dependent. The provider states the validation method is agreed per production partner and
asks integrators to contact Ciloo to select one; no single scheme is published.
contact: support@ciloo.com
webhooks:
- name: order.create
direction: ciloo-to-partner
method: POST
endpoint: partner-owned
endpoint_example: https://yourprinter.com/api/orders/create
description: >-
Ciloo sends a new print order to the production partner's order-creation endpoint. The partner
replies with its own order id and timestamp.
payload_fields:
- orderData.sourceOrderId
- orderData.customerName
- orderData.items[].sourceItemId
- orderData.items[].quantity
- orderData.items[].productionSKU
- orderData.items[].productionCost
- orderData.items[].mockup_url
- orderData.items[].components[].code
- orderData.items[].components[].path
- orderData.items[].components[].attributes
- orderData.shipments[].shipTo
- orderData.shipments[].carrier.code
- orderData.shipments[].carrier.service
expected_response_fields:
- _id
- timestamp
example_request: |
{
"orderData": {
"sourceOrderId": "Ciloo-1054",
"customerName": "John Doe",
"items": [
{
"sourceItemId": "Ciloo-1054-139",
"quantity": 100,
"productionSKU": "sample_product_sku",
"productionCost": 0,
"mockup_url": "",
"components": [
{
"code": "text|cover",
"path": "https://www.example.com/sample-path/Orders/1054/1054_1.pdf",
"attributes": {
"pageSize": "3.5x2",
"substrate": "16-pt.-Tango",
"ColorType": "Double",
"orientation": "Landscape"
}
}
]
}
],
"shipments": [
{
"shipTo": {
"name": "John Doe",
"companyName": "ABC Company",
"address1": "13 MAin Street",
"address2": "Apt 709",
"town": "New York",
"postcode": "10011",
"state": "NY",
"isoCountry": "US",
"phone": "9900000000"
},
"carrier": {"code": "usps", "service": "USPS_GROUND_ADVANTAGE"}
}
]
}
}
- name: order.status
direction: partner-to-ciloo
method: POST
endpoint: ciloo-owned
endpoint_example: https://dashboard.cilooprint.com/ciloo-order-callback/printer-inbound
description: >-
Production progress callback. Sent for production milestones; no shipping information required. The
documentation asks each partner to supply its own list of supported OrderStatus values rather than
publishing a fixed enumeration.
payload_fields:
- TimeStamp
- OrderId
- SourceOrderId
- OrderStatus
example_request: |
{
"TimeStamp": "2025-02-17T11:28:16.205Z",
"OrderId": "6abz14474f2c932a485ec441",
"SourceOrderId": "Ciloo-1054",
"OrderStatus": "received"
}
- name: order.shipped
direction: partner-to-ciloo
method: POST
endpoint: ciloo-owned
endpoint_example: https://dashboard.cilooprint.com/ciloo-order-callback/printer-inbound
description: >-
Fulfilment callback, sent when items are handed to the carrier and tracking becomes available.
Carries full tracking and shipping detail, with ShipmentIndex incrementing per shipment.
payload_fields:
- TimeStamp
- SourceOrderId
- OrderId
- ShipmentIndex
- TrackingNumber
- TrackingUrl
- OrderStatus
- CarrierMethod
- CarrierCode
- CarrierService
- sourceItemIds
- shipTo
example_request: |
{
"TimeStamp": "2025-02-17T06:03:14.891Z",
"SourceOrderId": "Ciloo-1054",
"OrderId": "6abz14474f2c932a485ec441",
"ShipmentIndex": 0,
"TrackingNumber": "00340434499817631628",
"TrackingUrl": "https://www.shipper.com/?trackcode=XXXXXXX",
"OrderStatus": "shipped",
"CarrierMethod": "tracked",
"CarrierCode": "custom",
"CarrierService": "default",
"sourceItemIds": ["Ciloo-1054-139", "Ciloo-1054-140"],
"shipTo": {
"name": "John Doe",
"companyName": "ABC Company",
"address1": "13 MAin Street",
"address2": "Apt 709",
"town": "New York",
"postcode": "10011",
"state": "NY",
"isoCountry": "US",
"country": "United States (US)",
"phone": "9900000000"
}
}
- name: customer_keys.delivered
direction: ciloo-to-integrator
method: POST
endpoint: integrator-owned
description: >-
Not part of the Printer API, but the same callback pattern: generateCustomerKeys on the Cart API
POSTs the newly minted customer OAuth 1.0a credentials to the callback_url supplied on the request.
source: https://api.cilooprint.com/ciloo-cart-api-documentation/
payload_fields:
- consumer_key
- consumer_secret
gaps:
- No AsyncAPI or other machine-readable event description is published.
- No signature, HMAC or replay-protection scheme is published for the inbound callbacks.
- No retry or delivery-guarantee policy is published.
- OrderStatus values are negotiated per partner rather than enumerated.
x-evidence:
- url: https://api.cilooprint.com/printer-api-integration/
http_status: 200
fetched: '2026-08-12'