Skip to main content

Observe order updates

Once an order has been placed, Withings API provides a notification system to keep you informed of any order updates.

Important
  • For order update notifications system to work properly you will need to contact your network administrator to make sure that connections from Withings IP addresses are allowed to send notifications to your endpoints. Refer to the TXT record from ipblock-notify.withings.net for the range(command: dig +short TXT ipblock-notify.withings.net). Withings will update this record at least one week prior to any change. Make sure you monitor it. Please contact us if your app is hosted on one of our Medical Clouds.

How to receive order update notifications​

To implement the notification system, you must provide the Dropshipment notify URI in your Developer dashboard.

The notification will be sent to your dropshipment notify URL by default (no subscription required). Notifications are sent as POST calls with parameters passed in application/json format.

Description of parameters​

The following table describes the POST parameters that the Withings server will send to your callback URL upon a notification request.

NameTypeDescription
customer_idstringYour dropshipment billing ID
customer_refstringRandom identifier provided in Dropshipment v2 - Createorder or Dropshipment v2 - Createuserorder
statusstringOrder status (only before it is shipped)
parcel_statusstringParcel status (only once the order has been shipped)
carrierstringCourier (only if the order has been shipped)
carrier_servicestringCourier service (only if the order has been shipped)
tracking_numberstringTracking number (only if the order has been shipped)
is_replacementbooleanIndicates whether or not the order is a replacement order
original_customer_refstringIf this order is a replacement order, indicates the customer_ref of the original order
original_serial_numberstringIf this order is a replacement order, indicates the serial number of the original device
useridstringIf this order is a replacement order, indicates the withings user id of the member

Possible order status (see status)​

Before an order is sent to our shipping services, you will be notified of preparation updates through the status property. This property can take the following values:

statusdescription
ADDRESSΒ ERRORThe address provided is not a valid address. This status will be returned synchronously when calling the createorder or createuserorder API. If one or more orders qualify as "ADDRESS ERROR", the request will fail and the orders won't be created in Withings systems. If status returned is ADDRESS ERROR and you still want Withings to process the order, please retry the request and use the force_address option in the order model.
VERIFIEDThe address provided is a valid address.
PROCESSINGThe order was received by Withings logistic team which is processing it.
FAILEDThe order failed to be sent to Withings logistics team.
OPENThe order was successfully processed by Withings logistics team and is waiting to be sent to parcel service.
SHIPPEDThe order was sent to the provided address. This status only indicates the parcel was sent, not that it was delivered.
TRASHEDThe order has been cancelled. This status will be returned through order update notification. Please contact Withings if you think your order has been cancelled by mistake.
BACKHOLDThe order is on hold. This can happen for different reason (unavailable product, delays in supply chain...).
To better understand the life cycle of an order and the possible status sequences, please refer to the diagram below:
Order state machine
Order state machine
*more info about the force_adress parameter can be found here

Possible delivery statuses (see parcel_status)​

Once the order has been transmitted to the shipping service, you will be notified of delivery updates through the parcel_status property. This property can take the following values :

parcel_statusdescription
pendingNo delivery event has been received for this package yet. It might not be yet handled to the shipping carrier, or the carrier didn't register it in its IT system yet
info_receivedShipping carrier acknowledged the creation of the shipping label but the package is not yet in its shipping network
in_transitShipping has started and the package is in transit
failed_attemptA delivery attempt occurred but the package could not be delivered. It is still in the shipping carrier's network
exceptionAn exception occurred. Most of the time, it will be a delivery incident
delayedThe package is still in transit but it has exceeded its expected delivery date
pickupThe package is available for retrieval at a pickup point
deliveredThe package has been delivered or collected from a pickup point
returnThe package will be returned to sender. We will continue retrieving events for 5 days after the first return event
expiredThe package was created more than 45 days ago but is still not delivered. We will not look for more events for this package. Possible causes are: - The package was never shipped - No delivery event was registered in the carrier IT system
Help

Login required

Please log in to your Developer Dashboard in order to file a request.

OK