CB Media Interface Description
Revisions
Version | Date | Description |
---|---|---|
0.6 | 11-03-2020 | Add volume limits and error messages |
0.5 | 13-01-2020 | Add flows and sequence diagrams |
0.3 | 11-11-2019 | Add operations |
0.1 | 30-08-2019 | Initial document |
Introduction
This document contains a description of the standard interfaces for implementation of data exchange with CB via webservices.
The entire set for the standard data exchange with CB consists of the following documents and files: | |
The mapping from file based to webservice based messages | |
The functional description of the definitions in the operations | |
yaml definition files | An OpenAPI Specification file (yaml) for each resource |
Overview webservices
This chapter gives an overview of the available interaction patterns for data exchange with CB. The figure below gives an high level overview of the CB system landscape and the available webservice operations.
CB provides REST based webservices. In REST operations define the available activities.
The webservices provide online creation and cancelation of media orders at CB. Changes to an order (other than cancel) are not available. Resending an order is possible only when the order was not accepted by CB earlier.
Webservices are available 24 hours a day, 7 days a week, however order handling is restricted to warehouse working hours. Our regular maintenance window is on Saturday from 08:00 hours until 14:00 hours. The webservice operations are available during this time, but received requests are stored only (i.e. not validated or processed).
File versus Webservice
Communication about orders is based on the receiving channel, i.e. file base communication is used for orders received via file based interfaces and webservice communication is used for orders received via the webservice.
Orders are processed independent from the receiving channel.
Mapping batch files versus webservice operations | |
---|---|
OPDNAW | placeOrder |
ANNOPD | cancelOrder |
UITOPD | notifyOrder / getOrderStatus + notifyShipment / getShippingUnit |
NUITOP | notifyOrder / getOrderStatus |
Timing
Webservice requests are processed realtime, i.e. an order is registered immediately when the webservice call is executed. Order processing at CB is based on scheduled processes and not primarily triggered by the webservice request.
Responses to the requester are send in Near-Realtime (NRT) with an average delay of 2 to 3 minutes. The regular maximum delay is 5 minutes, in exceptions running up to 10 minutes. During this timeframe the orderstatus has reached a status that is not yet reported to the requestor.
Volume
Webservice requests are limited to a maximum of 10 requests per service per second per requestor.
Performance
The media webservices comply with the generic CB webservice performance requirements:
- Average response time within 2 seconds during prime-time (08:00-01:00 CET)
- Response within 3 seconds for 99,95% of the requests during prime-time
- Response within 6 seconds for 99% of the requests outside prime-time
MediaOrderB2C
Webservice name: | MediaOrderB2C |
Definition: | MediaOrderB2C.yaml |
Resource: | Orders |
Operations provided by CB: | |
placeOrder | Send one (1) order to CB |
cancelOrderLine | Cancel one (1) orderline |
getOrderStatus | Retrieve the status of one (1) order |
MediaOrderNotify
Webservice name: | MediaOrderNotify |
Definition: | MediaOrderNotify.yaml |
Resource: | Notifications |
Operations provided by you: | |
notifyOrder | CB calls your webservice to inform you about status updates of an order |
MediaShipment
Webservice name: | MediaShipment |
Definition: | MediaShipment.yaml |
Resource: | ShippingUnits |
Operations provided by CB: | |
getShippingUnit | Retrieve the shipment information for a shipping unit |
MediaShipmentNotify
Webservice name: | MediaShipmentNotify |
Definition: | MediaShipmentNotify.yaml |
Resource: | Notifications |
Operations provided by you: | |
notifyShipment | CB calls your webservice to inform you about a shipment for your order |
Process flows
Waardes voor lijsten
De webservice operaties gebruiken Engelse termen en human readable waardes voor lijsten.
Downloadable yaml files
- MediaOrderB2C v0.9.8.yaml
- MediaFile v0.9.0.yaml
- MediaOrderNotify v0.9.4.yaml
- MediaShipmentB2C v0.9.1.yaml
- MediaShipmentNotify v0.9.3.yaml
- MediaShippingUnit v0.9.2.yaml