Skip to main content
Version: 2025-03

Fulfillment Order

An order can now have multiple shipments. Each shipment is described in a new entity called Fulfillment Order.

Backward compatibility

Fulfillment Order keeps a backward compatibility with Order Shipping Information. Compare the atributes from orders shipping to fulfillment orders.

Orders V1 to Fulfillment Orders

Order V1Fulfillment Orders
order.shipping_namefulfillment_order.recipient.name
order.shipping_phonefulfillment_order.recipient.phone
order.shipping_addressfulfillment_order.destination.street
order.shipping_numberfulfillment_order.destination.number
order.shipping_floorfulfillment_order.destination.floor
order.shipping_localityfulfillment_order.destination.locality
order.shipping_zipcodefulfillment_order.destination.zipcode
order.shipping_cityfulfillment_order.destination.city
order.shipping_provincefulfillment_order.destination.province.name
order.shipping_countryfulfillment_order.destination.country.name
order.shipping_min_daysfulfillment_order.shipping.min_delivery_date (non compatible type)
order.shipping_max_daysfulfillment_order.shipping.max_delivery_date (non compatible type)
order.shipping_cost_ownerfulfillment_order.shipping.owner_cost.value
order.shipping_cost_customerfulfillment_order.shipping.owner_customer.value
order.shippingfulfillment_order.shipping.carrier.carrier_id
order.shipping_optionfulfillment_order.shipping.option_name
order.shipping_option_codefulfillment_order.shipping.option_code
order.shipping_option_referencefulfillment_order.shipping.option_reference
order.shipping_pickup_details.*fulfillment_order.shipping.pickup_details
order.shipping_pickup_details.namefulfillment_order.shipping.pickup_details.name
order.shipping_pickup_details.addressfulfillment_order.shipping.pickup_details.address
order.shipping_pickup_details.cityfulfillment_order.shipping.pickup_details.city
order.shipping_pickup_details.provincefulfillment_order.shipping.pickup_details.province.name
order.shipping_pickup_details.pickup_hoursfulfillment_order.shipping.pickup_details.pickup_hours
order.shipping_tracking_numberfulfillment_order.tracking_info.number
order.shipping_tracking_urlfulfillment_order.tracking_info.url
order.shipping_store_branch_namefulfillment_order.shipping.pickup_details.name
order.shipping_pickup_typefulfillment_order.shipping.type
order.shipping_suboptionfulfillment_order.shipping.pickup_details
order.shipping_suboption.idfulfillment_order.shipping.pickup_details.location_id
order.shipping_carrier_namefulfillment_order.shipping.carrier_name
order.shipping_address.namefulfillment_order.recipient.name
order.shipping_address.phonefulfillment_order.recipient.phone
order.shipping_address.addressfulfillment_order.destination.street
order.shipping_address.numberfulfillment_order.destination.number
order.shipping_address.floorfulfillment_order.destination.floor
order.shipping_address.localityfulfillment_order.destination.locality
order.shipping_address.zipcodefulfillment_order.destination.zipcode
order.shipping_address.cityfulfillment_order.destination.city
order.shipping_address.provincefulfillment_order.destination.province.name
order.shipping_address.countryfulfillment_order.destination.country.name
order.shipping_address.customers.referencefulfillment_order.destination.reference
order.shipping_address.customers.between_streetsfulfillment_order.destination.between_streets
order.shipping_tracking_numberfulfillment_order.tracking_info.number
order.shipping_tracking_urlfulfillment_order.tracking_info.url

Orders Fulfillment Events V1 to Fulfillment Orders Tracking Events

Order Fulfillment Events V1Fulfillment Order Tracking Events
fulfillment_events.idfulfillment_order.tracking_events.id
fulfillment_events.statusfulfillment_order.tracking_events.status
fulfillment_events.descritpionfulfillment_order.tracking_events.description
fulfillment_events.cityfulfillment_order.tracking_events.address (non compatible type) *
fulfillment_events.provincefulfillment_order.tracking_events.address (non compatible type) *
fulfillment_events.countryfulfillment_order.tracking_events.address (non compatible type) *
created_atfulfillment_order.tracking_events.created_at
updated_atfulfillment_order.tracking_events.updated_at
happened_atfulfillment_order.tracking_events.happened_at
estimated_delivery_atfulfillment_order.tracking_events.estimated_delivery_at
non existsfulfillment_order.tracking_events.geolocation

*It's up to each application to define how the tracking address is represented as a string. The fulfillment event's city, province and country could be informed in fulfilment_order.tracking_events.address by concatenating all the information. Eg.: "Some street 31, Some City, Some State, Some Country".```

Scopes

PropertyExplanation
read_fulfillment_ordersAllows you to read actions of one or more fulfillment orders for a merchant.
write_fulfillment_ordersAllows you to write actions of one or more fulfillment orders for a merchant.

Properties

FulfillmentOrder

Field NameField TypeDescription
idIDThe unique fulfillment order. (ULID) identification
numberStringThe unique fulfillment order nice number by store
total_quantityUnsignedIntThe Fulfillment order total line items quantity
total_weightDecimalThe fulfillment order total line items weight
total_priceMoneyThe fulfillment order total line items price
assigned_locationFulfillmentOrderAssignedLocationThe fulfillment order assigned location
line_itemsFulfillmentOrderLineItem[]The fulfillment order line items
recipientFulfillmentOrderRecipientThe fulfillment order recipient
shippingFulfillmentOrderShippingThe fulfillment order shipping
destinationFulfillmentOrderDestinationThe fulfillment order destination
discountsFulfillmentOrderDiscount[]The fulfillment order discounts
statusFulfillmentOrderStatusThe fulfillment order status
status_historyFulfillmentOrderStatusHistory[]The fulfillment order status history. Default: [].
tracking_infoFulfillmentOrderTrackingInfoThe fulfillment order tracking info
tracking_info_historyFulfillmentOrderTrackingInfoHistory[]The fulfillment order tracking info history. Default: []
tracking_eventsFulfillmentOrderTrackingEvent[]The fulfillment order tracking events. Default: [].
fulfilled_atDateTimeDate when the fulfillment order was sent in ISO 8601 format. Nullable.
created_atDateTimeDate when the fulfillment order was last created in ISO 8601 format.
updated_atDateTimeDate when the fulfillment order was last updated in ISO 8601 format.

FulfillmentOrderAssignedLocation

Field NameField TypeDescription
location_idIDThe fulfillment order assigned location identification
nameStringThe fulfillment order assigned location name
addressAddressThe fulfillment order assigned location address

FulfillmentOrderLineItem

Field NameField TypeDescription
idIDThe fulfillment order line item id
external_idIDThe order external id
quantityUnsignedIntThe fulfillment order line item quantity
variantFulfillmentOrderLineItemVariantThe fulfillment order line item variant
productFulfillmentOrderLineItemProductThe fulfillment order line item product
unit_priceMoneyThe fulfillment order line item order line line unit price
unit_dimensionFulfillmentOrderLineItemDimensionThe fulfillment order line item order line line unit dimension.
created_atDateTimeDate when the fulfillment order line item was last created in ISO 8601 format.
updated_atDateTimeDate when the fulfillment order line item was last updated in ISO 8601 format.
custom_fieldsKey-Value DictionaryDictionary with key-value pairs of the line item custom fields. Returned only when aggregates includes custom_fields. The key is the custom field name and the value is the custom field value.
FulfillmentOrderLineItemVariant
Field NameField TypeDescription
variant_idIDThe fulfillment order line item variant identification.
FulfillmentOrderLineItemProduct
Field NameField TypeDescription
product_idIDThe fulfillment order line item product identification.
FulfillmentOrderLineItemDimension
Field NameField TypeDescription
weightDecimalThe fulfillment order line item dimension weight.
widthDecimalThe fulfillment order line item dimension width.
heightDecimalThe fulfillment order line item dimension height.
depthDecimalThe fulfillment order line item dimension depth.

FulfillmentOrderRecipient

Field NameField TypeDescription
nameStringThe fulfillment order recipient name.
phoneStringThe fulfillment order recipient phone. Optional
identifierStringThe fulfillment order recipient identifier. Optional.

FulfillmentOrderShipping

Field NameField TypeDescription
typeFulfillmentOrderShippingTypeThe fulfillment order shipping type.
carrierCarrierThe fulfillment order shipping carrier.
optionOptionThe fulfillment order shipping option.
merchant_costMoneyThe fulfillment merchant shipping option cost.
consumer_costMoneyThe fulfillment consumer shipping option cost.
min_delivery_dateDateTimeThe fulfillment minimum estimated delivery date. Nullable.
max_delivery_dateDateTimeThe fulfillment maximum estimated delivery date. Nullable.
pickup_detailsFulfillmentOrderShippingPickupDetailsThe fulfillment order shipping pickup details. Nullable.
extrasFulfillmentOrderShippingExtraPropertyThe fulfillment order shipping extra properties. Eg. {"free_shipping_id": "123456"}. Nullable.
FulfillmentOrderShippingType
TypeDescription
pickupThe fulfillment order shipping type for pickup point shipping options
shipThe fulfillment order shipping type for ship shipping options
non-shippableThe fulfillment order shipping type for non shippable
FulfillmentOrderShippingPickupDetails
Field NameField TypeDescription
location_idStringThe fulfillment order shipping pickup detail identification. Ex.: Location ID, IdCentroImposicion (OCA).
store_branch_idStringThe fulfillment order shipping pickup detail identification for store_branch_id. This field will be deprecated with store branch features in the future.
nameStringThe fulfillment order shipping pickup details name
addressAddressThe fulfillment order shipping pickup details pickup point address
pickup_hoursFulfillmentOrderPickupHour[]The fulfillment order shipping pickup details pickup hours. Default: []
FulfillmentOrderPickupHour
Field NameField TypeDescription
dayFulfillmentOrderPickupHourWeekdayThe fulfillment order shipping pickup detail pickup the weekday. Eg.: MONDAY.
startStringThe fulfillment order shipping pickup detail pickup hour the start hour. Eg.: 0800
endStringThe fulfillment order shipping pickup detail pickup hour the end hour. Eg.: 1800
FulfillmentOrderShippingExtraProperty
Field NameField TypeDescription
free_shipping_infoFreeShippingInfoThe shipping extra property for free shipping information.
phone_requiredBooleanThe shipping option requires a consumer phone number flag indicator.
id_requiredBooleanThe shipping option requires a consumer document number flag indicator.
accepts_codBooleanThe shipping option accepts cash on delivery flag indicator.
show_timeBooleanThe shipping option must show the estimated delivery time flag indicator.
shippableBooleanThe shipping option is shippable, meaning the package will be sent to the consumer or to the pickup point.
FreeShippingInfo
Field NameField TypeDescription
free_shipping_idIDThe fulfillment order shipping free shipping info free shipping identification.
consumer_original_costMoneyThe fulfillment order shipping the consumer original cost, without applying the free shipping rules.
FulfillmentOrderPickupHourWeekday
TypeDescription
MONDAYThe fulfillment order pickup hour weekday constant for monday.
TUESDAYThe fulfillment order pickup hour weekday constant for tuesday.
WEDNESDAYThe fulfillment order pickup hour weekday constant for wednesday.
THURSDAYThe fulfillment order pickup hour weekday constant for thursday.
FRIDAYThe fulfillment order pickup hour weekday constant for friday.
SATURDAYThe fulfillment order pickup hour weekday constant for saturday.
SUNDAYThe fulfillment order pickup hour weekday constant for sunday.

FulfillmentOrderRecipient

Field NameField TypeDescription
nameStringThe fulfillment order recipient name.
phoneStringThe fulfillment order recipient phone. Optional
identifierStringThe fulfillment order recipient identifier. Optional.

FulfillmentOrderDiscount

Field NameField TypeDescription
typeFulfillmentOrderDiscountTypeThe discount type.
amountMoneyThe fulfillment order discount amount.
FulfillmentOrderDiscountType
TypeDescription
SHIPPINGThe fulfillment order discount by shipping.
PROMOTIONThe fulfillment order discount by promotion.
PAYMENT_METHODThe fulfillment order discount by payment.
TOTAL_OF_DISCOUNTSThe fulfillment order total discounts.

FulfillmentOrderDestination

Field NameField TypeDescription
zipcodeStringThe address zipcode. Optional.
streetStringThe address street.
numberStringThe address number. Optional.
floorStringThe address floor. Brazil's complement. Optional.
localityStringThe address locality. Brazil's neighborhood. Optional.
cityStringThe address city name. Optional.
referenceStringThe address reference. Optional.
between_streetsStringThe address between streets. Optional.
provinceProvinceThe address province. Optional.
regionRegionThe address Region. Optional.
countryCountryThe address Country. Optional.

FulfillmentOrderStatus

TypeDescription
UNPACKEDThe fulfillment initial state, same as not started.
PACKEDThe fulfillment order was packed, same as ready for sending.
DISPATCHEDThe fulfillment order was sent.
READY_FOR_PICKUPThe fulfillment order was ready for pickup.
DELIVEREDThe fulfillment order was fully fulfilled.
Workflow

The Fulfillment Order Status Workflow has some validations by Fulfillment Order Shipping Type.

Below are the diagrams indicating the expected flows.

  • The solid lines indicate indicates the most common and expected workflow.
  • The dotted lines indicate the alternative allowed workflows.
  • Depending on the fulfillment order's shipping type, certain flows are not applicable. For example, the READY_FOR_PICKUP status applies only to the pickup Shipping Type, while non-shippable Shipping Types expect only the DELIVERED status.
  • It is possible to go back to UNPACKED only from PACKED status.

Warning: To update the fulfillment order status to DELIVERED, the preferred approach is through creating or updating tracking events with status delivered. When the system receives a tracking event with status delivered (via POST or PUT), it automatically updates the fulfillment order to DELIVERED and sets fulfilled_at to the happened_at date of that tracking event. Prefer this flow over setting status to DELIVERED directly via PATCH on the fulfillment order.

FulfillmentOrderShippingType as 'ship'

Fulfillment Orders with Shipping Type ship are used for shipping physical products directly to the consumer's home. Ex.: Shipping a t-shirt.

FulfillmentOrderShippingType as 'pickup'

Fulfillment Orders with Shipping Type pickup are used for shipping physical products directly to a pickup point. Ex.: Shipping a t-shirt.

FulfillmentOrderShippingType as 'non-shippable'

Fulfillment Orders with Shipping Type non-shippable are used for shipments of non-physical products to the consumer. Ex: classes sent to the consumer's email.

FulfillmentOrderStatusHistory

Field NameField TypeDescription
from_statusFulfillmentOrderStatusThe fulfillment order from status. Nullable.
to_statusFulfillmentOrderStatusThe fulfillment order to status. Nullable.
happened_atDateTimeDate when the fulfillment order history was happened in ISO 8601 format.
created_atDateTimeDate when the fulfillment order history was created in ISO 8601 format.

FulfillmentOrderTrackingInfo

Field NameField TypeDescription
urlStringThe fulfillment order tracking info url. Nullable.
codeStringThe fulfillment order tracking info code. Nullable.

FulfillmentOrderTrackingInfoHistory

Field NameField TypeDescription
from_tracking_infoFulfillmentOrderTrackingInfoThe fulfillment order from tracking info. Nullable.
to_tracking_infoFulfillmentOrderTrackingInfoThe fulfillment order to tracking info. Nullable.
happened_atDateTimeDate when the fulfillment order history was happened in ISO 8601 format.
created_atDateTimeDate when the fulfillment order history was created in ISO 8601 format.
app_idStringApp ID of the app who made this change.
user_idStringUser ID of the person who made this change.

FulfillmentOrderTrackingEvent

Field NameField TypeDescription
idIDThe fulfillment order tracking event identification. (ULID)
statusFulfillmentOrderTrackingEventStatusThe fulfillment order tracking event status.
descriptionStringThe fulfillment order tracking event description.
addressStringThe fulfillment order tracking event address information. Eg.: "St. Paul 123 - Ciudad - AR 1298". Nullable.
geolocationFulfillmentOrderTrackingEventGeolocationThe fulfillment order tracking event geolocation. Nullable.
happened_atDateTimeDate when the fulfillment order tracking event happened in ISO 8601 format. If Null Assumed NOW
estimated_delivery_atDateTimeDate when the fulfillment order tracking event estimated delivery at in ISO 8601 format. Nullable.
created_atDateTimeDate when the fulfillment order tracking event was created in ISO 8601 format.
updated_atDateTimeDate when the fulfillment order tracking event was updated in ISO 8601 format.
FulfillmentOrderTrackingEventStatus
TypeDescription
dispatchedPackage has been posted by the merchant.
received_by_post_officePackage has been received by the Shipping Carrier.
in_transitPackage is in transit.
out_for_deliveryPackage is out for delivery.
delivery_attempt_failedPackage could not be delivered.
delayedPackage delayed.
ready_for_pickupPackage is ready for pickup.
deliveredPackage was delivered.
returned_to_senderPackage was returned to the sender.
lostPackage lost.
failurePackage delivery failed.
custom_{status}Package any custom status informed by a shipping partner.
FulfillmentOrderTrackingEventGeolocation
Field NameField TypeDescription
longitudeDecimalThe fulfillment order tracking event geolocation longitude.
latitudeDecimalThe fulfillment order tracking event geolocation latitude.
Money
Field NameField TypeDescription
valueDecimalThe amount value
currencyStringThe isocode currency code
Carrier
Field NameField TypeDescription
carrier_idStringThe carrier identification. It could be alphanumeric identification like current shipping native methods or shipping carrier id identification.
codeCarrierCodeTypeThe carrier code type.
nameStringThe carrier name.
app_idStringThe carrier application identification. Default: null.
CarrierCodeType
TypeDescription
apiThe shipping carrier is a shipping method from carriers API.
customThe shipping carrier is a shipping method from customs configured by merchant.
localeThe shipping carrier is a shipping method from locales (branchs) configured by merchant.
internationalThe shipping carrier is a shipping from international customs configured by merchant.
nativeThe shipping carrier is a shipping from a internal integration created by Nuvemshop/Tiendanube and configured by merchant.
draftThe shipping carrier is a shipping from draft orders.
defaultThe shipping carrier is a shipping from default orders.
Option
Field NameField TypeDescription
nameStringThe option name.
codeStringThe option code.
referenceStringThe option reference.
allow_free_shippingBooleanThe option allows a free shipping flag indicator. Default: null.
Address
Field NameField TypeDescription
zipcodeStringThe address zipcode. Optional.
streetStringThe address street.
numberStringThe address number. Optional.
floorStringThe address floor. Brazil's complement. Optional.
localityStringThe address locality. Brazil's neighborhood. Optional.
cityStringThe address city name. Optional.
referenceStringThe address reference. Optional.
between_streetsStringThe address between streets. Optional.
provinceProvinceThe address province. Optional.
regionRegionThe address Region. Optional.
countryCountryThe address Country. Optional.
Provice
Field NameField TypeDescription
nameStringThe province name.
codeStringThe province code.
Region
Field NameField TypeDescription
nameStringThe region name.
codeStringThe region code.
Country
Field NameField TypeDescription
nameStringThe country name.
codeStringThe country code.

FulfillmentOrderPaginated

Field NameField TypeDescription
totalUnsignedIntTotal of FulfillmentOrder.
pageUnsignedIntCurrent page.
per_pageUnsignedIntQuantity of FulfillmentOrder per page.
resultsFulfillmentOrder[]List of fulfillment orders.

Error

Field NameField TypeDescription
descriptionStringHttp status description.
messageStringError Message.

Validation

Field NameField TypeDescription
descriptionStringHttp status description.
messagesMessage[]List of inputs validation messages.

Message

TypeDescription
String[]The error message input. This value is dynamic. Eg.: "shipping.carrier.carrier_id": ["should not be empty", "must be a string"].

Input Request Properties

FulfillmentOrderInput

Field NameField TypeMandatoryNullableDescription
assigned_locationFulfillmentOrderAssignedLocationInputThe fulfillment order assigned location.
line_itemsFulfillmentOrderLineItemInput[]The fulfillment order line item input list.
recipientFulfillmentOrderRecipientInputThe fulfillment order recipient input.
destinationFulfillmentOrderDestinationInputThe fulfillment order destination input.
shippingFulfillmentOrderShippingInputThe fulfillment order shipping input.

FulfillmentOrderAssignedLocationInput

Field NameField TypeMandatoryNullableDescription
idIDThe fulfillment order assigned location input identification. (ULID)

FulfillmentOrderLineItemInput

Field NameField TypeMandatoryNullableDescription
quantityUnsignedIntThe fulfillment order line item input quantity.
order_line_item_idIDThe order line item identification reference.

FulfillmentOrderRecipientInput

Field NameField TypeMandatoryNullableDescription
nameStringThe fulfillment order recipient input name.
phoneStringThe fulfillment order recipient input phone.
identifierStringThe fulfillment order recipient input identifier.

FulfillmentOrderShippingInput

Field NameField TypeMandatoryNullableDescription
typeFulfillmentOrderShippingTypeThe fulfillment order shipping type. Eg.: pickup, ship.
carrierCarrierInputThe fulfillment order shipping carrier input.
optionOptionInputThe fulfillment order shipping option input.
merchant_costMoneyInputThe fulfillment order merchant shipping cost.
consumer_costMoneyInputThe fulfillment order consumer shipping cost.
min_delivery_dateDateTimeThe fulfillment order shipping min delivery date.
max_delivery_dateDateTimeThe fulfillment order shipping max delivery date.
pickup_detailsPickupDetailsInputThe fulfillment order shipping pickup details.
CarrierInput
Field NameField TypeMandatoryNullableDescription
idStringThe shipping carrier input identification. Eg.: "1234", "correios", "oca".
codeCarrierCodeTypeInputThe shipping carrier input type.
app_idStringThe shipping carrier application identification. Default: null
CarrierCodeTypeInput
TypeDescription
apiThe shipping carrier is a shipping method from carriers API.
customThe shipping carrier is a shipping method from customs configured by merchant.
localeThe shipping carrier is a shipping method from locales (branchs) configured by merchant.
internationalThe shipping carrier is a shipping from international customs configured by merchant.
nativeThe shipping carrier is a shipping from a internal integration created by Nuvemshop/Tiendanube and configured by merchant.
draftThe shipping carrier is a shipping from draft orders.
defaultThe shipping carrier is a shipping from default orders.
OptionInput
Field NameField TypeMandatoryNullableDescription
codeStringThe shipping option input code. Eg.: "pac", "sedex".
referenceStringThe shipping option input reference.
allow_free_shippingStringThe shipping option input allows free shipping flag indicator. Default: false.
PickupDetailsInput
Field NameField TypeMandatoryNullableDescription
location_idStringThe shipping pickup details input identification.
nameStringThe shipping pickup details input name.
addressAddreeInputThe shipping pickup details input address.
pickup_hoursPickupHourInput[]The shipping pickup details input pickup hours. Default: [].
PickupHourInput
Field NameField TypeMandatoryNullableDescription
dayFulfillmentOrderPickupHourWeekdayThe fulfillment order shipping pickup details the weekday. Eg.: MONDAY
startStringThe fulfillment order shipping pickup detail pickup hour the start hour. Eg.: 0800
endStringThe fulfillment order shipping pickup detail pickup hour the end hour. Eg.: 1800
ExtraPropertyInput
Field NameField TypeMandatoryNullableDescription
free_shipping_infoFreeShippingInputThe shipping extra property input for free shipping information.
phone_requiredBooleanThe shipping option requires a consumer phone number flag indicator.
id_requiredBooleanThe shipping option requires a consumer document number flag indicator.
accepts_codBooleanThe shipping option accepts cash on delivery flag indicator.
show_timeBooleanThe shipping option must show the estimated delivery time flag indicator.
shippableBooleanThe shipping option is shippable, meaning the package will be sent to the consumer or to the pickup point.
FreeShippingInput
Field NameField TypeMandatoryNullableDescription
free_shipping_idIDThe shipping free shipping info input free shipping identification input.
consumer_original_costMoneyThe shipping free shipping info input the consumer original shipping cost.

FulfillmentOrderDestinationInput

Field NameField TypeMandatoryNullableDescription
zipcodeStringThe fulfillment order destination input zipcode.
streetStringThe fulfillment order destination input street.
numberStringThe fulfillment order destination input number.
floorStringThe fulfillment order destination input floor.
localityStringThe fulfillment order destination input locality.
cityStringThe fulfillment order destination input city name.
referenceStringThe fulfillment order destination input reference.
between_streetsStringThe fulfillment order destination input between streets.
provinceProvinceInputThe fulfillment order destination input province.
regionRegionInputThe fulfillment order destination input region.
countryCountryInputThe fulfillment order destination input country.

FulfillmentOrderStatusInput

Field NameField TypeMandatoryNullableDescription
statusFulfillmentOrderStatusThe fulfillment order status input status.

FulfillmentOrderTrackingInfoInput

Field NameField TypeMandatoryNullableDescription
codeStringThe fulfillment order tracking info input tracking number.
urlStringThe fulfillment order tracking info input tracking number.
notify_customerBooleanNotify the customer about the fulfillment (the default value is false)

FulfillmentOrderTrackingEventInput

Field NameField TypeMandatoryNullableDescription
statusFulfillmentOrderTrackingEventStatusThe fulfillment order tracking event input status.
descriptionStringThe fulfillment order tracking event input description.
addressStringThe fulfillment order tracking event input address as one liner address. Ex: St. Julio 123, Ciudad, Argentina.
geolocationFulfillmentOrderTrackingEventGeolocationInputThe fulfillment order tracking event geolocation input.
happened_atDateTimeThe fulfillment order tracking event input happened at the event. If null, the event was taken as now.
estimated_delivery_atDateTimeThe fulfillment order tracking event input estimated delivery date time to arrive.
FulfillmentOrderTrackingEventGeolocationInput
Field NameField TypeMandatoryNullableDescription
latitudeDecimalThe fulfillment order tracking event geolocation latitude input.
longitudeDecimalThe fulfillment order tracking event geolocation longitude input.
MoneyInput
Field NameField TypeMandatoryNullableDescription
valueDecimalThe money input value.
currencyStringThe money input currency isocode. Eg.: ARS, BRL.
AddressInput
Field NameField TypeMandatoryNullableDescription
zipcodeStringThe fulfillment order address input zipcode.
streetStringThe fulfillment order address input street.
numberStringThe fulfillment order address input number.
floorStringThe fulfillment order address input floor.
localityStringThe fulfillment order address input locality.
cityStringThe fulfillment order address input city name.
referenceStringThe fulfillment order address input reference.
between_streetsStringThe fulfillment order address input between streets.
provinceProvinceInputThe fulfillment order address input province.
regionRegionInputThe fulfillment order address input region.
countryCountryInputThe fulfillment order address input country.
ProvinceInput
Field NameField TypeMandatoryNullableDescription
nameStringThe province input name.
codeStringThe province input code.
RegionInput
Field NameField TypeMandatoryNullableDescription
nameStringThe region input name.
codeStringThe region input code.
CountryInput
Field NameField TypeMandatoryNullableDescription
nameStringThe country input name.
codeStringThe country input code.

Endpoints

GET /orders/{order_id}/fulfillment-orders

Retrive all Order Fulfillments from a specific Order.

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Parameters

ParameterExplanation
aggregatesOne possible value: custom_fields. Enables a custom_fields dictionary inside each FulfillmentOrder line item with the line item custom fields information.

Responses

HTTP 200 - Ok
TypeDescription
FulfillmentOrder[]The List of Fulfillment Orders Response.
GET /orders/123456/fulfillment-orders
[
{
"id": "01FHZXHK8PTP9FVK99Z66GXKKK",
"number": "123456",
"total_quantity": 12,
"total_weight": 12.12,
"total_price": {
"value": 123.45,
"currency": "BRL"
},
"assigned_location": {
"location_id": "01FHZXHK8PTP9FVK99Z66GXQTX",
"name": "Location name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"code": "SP",
"name": "São Paulo"
},
"region": {
"code": "SE",
"name": "Sudeste"
},
"country": {
"code": "BR",
"name": "Brasil"
}
}
},
"line_items": [
{
"id": "01J1QCWJXGNX56JP0NCBS0G711",
"external_id": "123",
"quantity": 1,
"variant": {
"variant_id": "12345678"
},
"product": {
"product_id": "12345678"
},
"unit_price": {
"value": 123.45,
"currency": "BRL"
},
"unit_dimension": {
"weight": 1.23456,
"width": 12.34567,
"height": 12.34567,
"depth": 12.34567
},
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
],
"recipient": {
"name": "Recipient name",
"phone": "11988864311",
"identifier": "11223344B"
},
"shipping": {
"type": "pickup|ship",
"carrier": {
"name": "Some Carrier Name",
"carrier_id": "12345",
"code": "api",
"app_id": "12345"
},
"option": {
"name": "Some Option Name",
"code": "some-option-code",
"reference": "some-option-ref",
"allow_free_shipping": true
},
"merchant_cost": {
"value": 123.14,
"currency": "BRL"
},
"consumer_cost": {
"value": 123.14,
"currency": "BRL"
},
"min_delivery_date": "2022-11-24T10:20:19+00:00",
"max_delivery_date": "2022-11-25T10:20:19+00:00",
"pickup_details": {
"location_id": "pickup-option-id",
"name": "Some option pickup detail name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"name": "São Paulo",
"code": "SP"
},
"region": {
"name": "Sudeste",
"code": "SE"
},
"country": {
"name": "Brasil",
"code": "BR"
}
},
"pickup_hours": [
{
"day": "MONDAY",
"start": "0800",
"end": "1800"
}
]
},
"extras": {
"free_shipping_info": {
"free_shipping_id": "1234567",
"consumer_original_cost": {
"value": 12.34,
"currency": "BRL"
}
},
"phone_required": true,
"id_required": true,
"accepts_cod": true,
"show_time": true,
"shippable": true
}
},
"discounts": [
{
"type": "TOTAL_OF_DISCOUNTS",
"amount": {
"value": 20,
"currency": "BRL"
}
}
],
"destination": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"name": "São Paulo",
"code": "SP"
},
"region": {
"name": "Sudeste",
"code": "SE"
},
"country": {
"name": "Brasil",
"code": "BR"
}
},
"status": "PACKED",
"status_history": [
{
"from_status": "UNPACKED",
"to_status": "PACKED",
"happened_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00"
}
],
"tracking_info": {
"url": "https://tracking-url.com",
"code": "BDJ9999"
},
"tracking_info_history": [
{
"from_tracking_info": {
"url": null,
"code": null
},
"to_tracking_info": {
"url": "https://tracking-url.com",
"code": "BDJ9999"
},
"happened_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T11:29:57.742Z",
"app_id": "1",
"user_id": "1"
}
],
"tracking_events": [
{
"id": "01FHZXHK8PTP9FVK99Z66GXJIO",
"status": "dispatched",
"description": "The package was dispatched",
"address": "St. Poul 123, Ciudad - Argentina 1290",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
],
"fulfilled_at": null,
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
]
GET /orders/123456/fulfillment-orders?aggregates=custom_fields
[
{
"id": "01FHZXHK8PTP9FVK99Z66GXKKK",
"number": "123456",
"total_quantity": 12,
"total_weight": 12.12,
"total_price": {
"value": 123.45,
"currency": "BRL"
},
"assigned_location": {
"location_id": "01FHZXHK8PTP9FVK99Z66GXQTX",
"name": "Location name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"code": "SP",
"name": "São Paulo"
},
"region": {
"code": "SE",
"name": "Sudeste"
},
"country": {
"code": "BR",
"name": "Brasil"
}
}
},
"line_items": [
{
"id": "01J1QCWJXGNX56JP0NCBS0G711",
"external_id": "123",
"quantity": 1,
"variant": {
"variant_id": "12345678"
},
"product": {
"product_id": "12345678"
},
"unit_price": {
"value": 123.45,
"currency": "BRL"
},
"unit_dimension": {
"weight": 1.23456,
"width": 12.34567,
"height": 12.34567,
"depth": 12.34567
},
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00",
"custom_fields": {
"nombre": "John Doe",
"my_custom_field": "my_custom_value"
}
}
],
"recipient": {
"name": "Recipient name",
"phone": "11988864311",
"identifier": "11223344B"
},
"shipping": {
"type": "pickup|ship",
"carrier": {
"name": "Some Carrier Name",
"carrier_id": "12345",
"code": "api",
"app_id": "12345"
},
"option": {
"name": "Some Option Name",
"code": "some-option-code",
"reference": "some-option-ref",
"allow_free_shipping": true
},
"merchant_cost": {
"value": 123.14,
"currency": "BRL"
},
"consumer_cost": {
"value": 123.14,
"currency": "BRL"
},
"min_delivery_date": "2022-11-24T10:20:19+00:00",
"max_delivery_date": "2022-11-25T10:20:19+00:00",
"pickup_details": {
"location_id": "pickup-option-id",
"name": "Some option pickup detail name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"name": "São Paulo",
"code": "SP"
},
"region": {
"name": "Sudeste",
"code": "SE"
},
"country": {
"name": "Brasil",
"code": "BR"
}
},
"pickup_hours": [
{
"day": "MONDAY",
"start": "0800",
"end": "1800"
}
]
},
"extras": {
"free_shipping_info": {
"free_shipping_id": "1234567",
"consumer_original_cost": {
"value": 12.34,
"currency": "BRL"
}
},
"phone_required": true,
"id_required": true,
"accepts_cod": true,
"show_time": true,
"shippable": true
}
},
"discounts": [
{
"type": "TOTAL_OF_DISCOUNTS",
"amount": {
"value": 20,
"currency": "BRL"
}
}
],
"destination": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"name": "São Paulo",
"code": "SP"
},
"region": {
"name": "Sudeste",
"code": "SE"
},
"country": {
"name": "Brasil",
"code": "BR"
}
},
"status": "PACKED",
"status_history": [
{
"from_status": "UNPACKED",
"to_status": "PACKED",
"happened_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00"
}
],
"tracking_info": {
"url": "https://tracking-url.com",
"code": "BDJ9999"
},
"tracking_info_history": [
{
"from_tracking_info": {
"url": null,
"code": null
},
"to_tracking_info": {
"url": "https://tracking-url.com",
"code": "BDJ9999"
},
"happened_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T11:29:57.742Z",
"app_id": "1",
"user_id": "1"
}
],
"tracking_events": [
{
"id": "01FHZXHK8PTP9FVK99Z66GXJIO",
"status": "dispatched",
"description": "The package was dispatched",
"address": "St. Poul 123, Ciudad - Argentina 1290",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
],
"fulfilled_at": null,
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
]
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Error Response

GET /orders/{order_id}/fulfillment-orders/{fulfillment_order_id}

Get a Fulfillment Order By Identifier

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier
fulfillment_order_idStringFulfillment Order Identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Responses

HTTP 200 - Ok
TypeDescription
FulfillmentOrderThe Fulfillment Order Response.
GET /orders/123456/fulfillment-orders/01FHZXHK8PTP9FVK99Z66GXASS
{
"id": "01FHZXHK8PTP9FVK99Z66GXASS",
"number": "123456",
"total_quantity": 12,
"total_weight": 12.12,
"total_price": {
"value": 123.45,
"currency": "BRL"
},
"assigned_location": {
"location_id": "01FHZXHK8PTP9FVK99Z66GXQTX",
"name": "Location name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"code": "SP",
"name": "São Paulo"
},
"region": {
"code": "SE",
"name": "Sudeste"
},
"country": {
"code": "BR",
"name": "Brasil"
}
}
},
"line_items": [
{
"quantity": 1,
"variant": {
"variant_id": "12345678"
},
"product": {
"product_id": "12345678"
},
"unit_price": {
"value": 123.45,
"currency": "BRL"
},
"unit_dimension": {
"weight": 1.23456,
"width": 12.34567,
"height": 12.34567,
"depth": 12.34567
},
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
],
"recipient": {
"name": "Recipient name",
"phone": "11988864311",
"identifier": "11223344B",
"allow_free_shipping": false
},
"shipping": {
"type": "pickup|ship",
"carrier": {
"name": "Some Carrier Name",
"code": "api",
"carrier_id": "12345",
"app_id": "12345"
},
"option": {
"name": "Some Option Name",
"code": "some-option-code",
"reference": "some-option-ref"
},
"merchant_cost": {
"value": 123.14,
"currency": "BRL"
},
"consumer_cost": {
"value": 123.14,
"currency": "BRL"
},
"min_delivery_date": "2022-11-24T10:20:19+00:00",
"max_delivery_date": "2022-11-25T10:20:19+00:00",
"pickup_details": {
"location_id": "pickup-option-id",
"name": "Some option pickup detail name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"name": "São Paulo",
"code": "SP"
},
"region": {
"name": "Sudeste",
"code": "SE"
},
"country": {
"name": "Brasil",
"code": "BR"
}
},
"pickup_hours": [
{
"day": "MONDAY",
"start": "0800",
"end": "1800"
}
],
"extras": {
"free_shipping_info": {
"free_shipping_id": "1234567",
"consumer_original_cost": {
"value": 12.34,
"currency": "BRL"
}
},
"phone_required": true,
"id_required": true,
"accepts_cod": true,
"show_time": true,
"shippable": true
}
}
},
"destination": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"name": "São Paulo",
"code": "SP"
},
"region": {
"name": "Sudeste",
"code": "SE"
},
"country": {
"name": "Brasil",
"code": "BR"
}
},
"status": "PACKED",
"status_history": [
{
"from_status": "UNPACKED",
"to_status": "PACKED",
"happened_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00"
}
],
"tracking_info": {
"url": "https://tracking-url.com",
"code": "BDJ9999"
},
"tracking_info_history": [
{
"from_tracking_info": {
"url": null,
"code": null
},
"to_tracking_info": {
"url": "https://tracking-url.com",
"code": "BDJ9999"
},
"happened_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T11:29:57.742Z",
"app_id": "1",
"user_id": "1"
}
],
"tracking_events": [
{
"id": "01FHZXHK8PTP9FVK99Z66GXJIO",
"status": "dispatched",
"description": "The package was dispatched",
"address": "St. Paul 123, Ciudad - Argentina 1290",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
],
"fulfilled_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Error Response
HTTP 404 - Not Found
TypeDescription
ErrorThe Not Found Fulfillment Order Error Response

DELETE /orders/{order_id}/fulfillment-orders/{fulfillment_order_id}

Delete Fulfillment Order By Identifier

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier
fulfillment_order_idStringFulfillment Order Identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Responses

HTTP 204 - No Content
DELETE /orders/123456/fulfillment-orders/01FHZXHK8PTP9FVK99Z66GXASS
HTTP 400 - Bad Request
TypeDescription
ErrorThe Fulfillment Order Delete Error Response
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Error Response
HTTP 404 - Not Found
TypeDescription
ErrorThe Not Found Fulfillment Order Error Response

PATCH /orders/{order_id}/fulfillment-orders/{fulfillment_order_id}

Update Fulfillment Order Status, Tracking Info, Destination, Recipient, Shipping, Assigned Location

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier
fulfillment_order_idStringFulfillment Order Identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Notes

  • Parameters are sent in body, JSON format
  • FulfillmentOrderStatusInput or and FulfillmentOrderTrackingInfoInput or and FulfillmentOrderDestinationInput or and FulfillmentOrderShippingInput or and FulfillmentOrderRecipientInput or and FulfillmentOrderAssignedLocationInput
  • Fulfillment Order Already sent Cannot be Update Destination Information
  • Fulfillment Order Already sent Cannot be Update Shipping Information
  • Fulfillment Order Already sent Cannot be Update Recipient Information
  • Fulfillment Order Already packed or sent Cannot be Update Assigned Location Information
  • If the status is DELIVERED, the fulfillment order will be marked as fulfilled. This means the fulfilled_at field will be filled with the current date and time.

Request Payload

TypeDescription
FulfillmentOrderInputThe Fulfillment Order Input.
{
"status": "PACKED",
"tracking_info": {
"code": "BR123123123AA",
"url": "https://www.correios.com.br/BB123123123AA",
"notify_customer": true
},
"destination": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"code": "SP"
},
"region": {
"code": "SP"
},
"country": {
"code": "BR"
}
},
"shipping": {
"type": "pickup|ship",
"carrier": {
"carrier_id": "12345",
"code": "api",
"app_id": "12345"
},
"option": {
"code": "some-option-code",
"reference": "some-option-ref",
"allow_free_shipping": true
},
"merchant_cost": {
"value": 123.14,
"currency": "BRL"
},
"consumer_cost": {
"value": 123.14,
"currency": "BRL"
},
"min_delivery_date": "2022-11-24T10:20:19+00:00",
"max_delivery_date": "2022-11-25T10:20:19+00:00",
"pickup_details": {
"location_id": "pickup-option-id",
"name": "Some option pickup detail name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"code": "SP"
},
"region": {
"code": "SE"
},
"country": {
"code": "BR"
}
},
"pickup_hours": [
{
"day": "MONDAY",
"start": "0800",
"end": "1800"
}
]
},
"extras": {
"free_shipping_info": {
"free_shipping_id": "1234567",
"consumer_original_cost": {
"value": 12.34,
"currency": "BRL"
}
},
"phone_required": true,
"id_required": true,
"accepts_cod": true,
"show_time": true,
"shippable": true
}
},
"recipient": {
"name": "Some Name",
"phone": "11988864311",
"identifier": "44112233"
},
"assigned_location": {
"location_id": "01ARZ3NDEKTSV4RRFFQ69G5DAD"
}
}

Responses

HTTP 200 - Ok
TypeDescription
FulfillmentOrderThe Fulfillment Order Response.
PATCH /orders/123456/fulfillment-orders/01ARZ3NDEKTSV4RRFFQ69G5FAV
{
"id": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
"number": "123456",
"status": "PACKED",
"status_history": [
{
"from_status": "UNPACKED",
"to_status": "PACKED",
"happened_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00"
}
],
"fulfilled_at": "2022-11-24T10:20:19+00:00",
"tracking_info": {
"code": "BR123123123AA",
"url": "https://www.correios.com.br/BB123123123AA",
"notify_customer": true
},
"tracking_info_history": [
{
"from_tracking_info": {
"url": null,
"code": null
},
"to_tracking_info": {
"code": "BR123123123AA",
"url": "https://www.correios.com.br/BB123123123AA",
},
"happened_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T11:29:57.742Z",
"app_id": "1",
"user_id": "1"
}
],
"destination": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"name": "São Paulo",
"code": "SP"
},
"region": {
"name": "Sudeste",
"code": "SE"
},
"country": {
"name": "Brasil",
"code": "BR"
},
},
"shipping": {
"type": "pickup|ship",
"carrier": {
"carrier_id": "12345",
"code": "api",
"name": "Same Carrier Name",
"app_id": "12345"
},
"option": {
"code": "some-option-code",
"reference": "some-option-ref",
"name": "Same Option Name",
"allow_free_shipping": true
},
"merchant_cost": {
"value": 123.14,
"currency": "BRL"
},
"consumer_cost": {
"value": 123.14,
"currency": "BRL"
},
"min_delivery_date": "2022-11-24T10:20:19+00:00",
"max_delivery_date": "2022-11-25T10:20:19+00:00",
"pickup_details": {
"location_id": "pickup-option-id",
"name": "Some option pickup detail name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"code": "SP",
"name": "São Paulo"
},
"region": {
"code": "SE",
"name": "Sudeste"
},
"country": {
"code": "BR",
"name": "Brasil"
}
},
"pickup_hours": [
{
"day": "MONDAY",
"start": "0800",
"end": "1800"
}
]
},
"extras": {
"free_shipping_info": {
"free_shipping_id": "1234567",
"consumer_original_cost": {
"value": 12.34,
"currency": "BRL"
}
},
"phone_required": true,
"id_required": true,
"accepts_cod": true,
"show_time": true,
"shippable": true
}
},
"recipient": {
"name": "Some Name",
"phone": "11988864311",
"identifier": "44112233"
},
"assigned_location": {
"location_id": "01ARZ3NDEKTSV4RRFFQ69G5DAD",
"name": "Location name",
"address": {
"zipcode": "12910802",
"street": "Some Street",
"number": "100",
"floor": "Some Floor",
"locality": "Some Locality",
"city": "Some City",
"reference": "Some Reference",
"between_streets": "Some Between Streets",
"province": {
"code": "SP",
"name": "São o"
},
"region": {
"code": "SE",
"name": "Sudeste"
},
"country": {
"code": "BR",
"name": "Brasil"
}
}
},
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
HTTP 400 - Bad Request
TypeDescription
ErrorThe Fulfillment Order Update Error Response
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Response

POST /orders/{order_id}/fulfillment-orders/{fulfillment_order_id}/tracking-events

Create Fulfillment Order Tracking Event

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier
fulfillment_order_idStringFulfillment Order Identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Notes

  • Parameters are sent in body, JSON format.
  • FulfillmentOrdeTrackingEventInput.
  • Fulfillment Order Must be Already DISPATCHED.
  • If the status is DELIVERED, the fulfillment order will be marked as DELIVERED and fulfilled. This means the fulfilled_at field will be filled with the current date and time.
  • Tracking event will be limited to a maximum of 100 events. An additional 101st event may be delivered.
  • Tracking event must differ from the previous one.

Request Payload

TypeDescription
FulfillmentOrderTrackingEventInputThe Fulfillment Order Tracking Event Input.
{
"status": "dispatched",
"description": "The package was dispatched",
"address": "St. Paul 123, São Paulo - Brazil 02910802",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00"
}

Responses

HTTP 201 - Created
TypeDescription
FulfillmentOrderTrackingEventThe Fulfillment Order Tracking Event Response.
POST /orders/123456/fulfillment-orders/01ARZ3NDEKTSV4RRFFQ69G5FAV/tracking-events
{
"id": "01FHZXHK8PTP9FVK99Z66GXJIO",
"status": "dispatched",
"description": "The package was dispatched",
"address": "St. Paul 123, São Paulo - Brazil 02910802",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
HTTP 400 - Bad Request
TypeDescription
ErrorThe Fulfillment Order Tracking Event Create Error Response
ErrorThe tracking event must not be identical to an existing tracking event
ErrorTracking events has reached the limit
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Response

Duplicate tracking event rules

The API enforces specific rules to detect and reject duplicate tracking events.

A tracking event is considered identical when it has the same:

  • status
  • description
  • address
  • geolocation (latitude and longitude)
  • happened_at (if provided)
  • estimated_delivery_at (if provided)
Time window logic
  • When happened_at is provided: identical events with a time difference of 60 seconds or less are treated as duplicates and rejected.
    If the time difference is greater than 60 seconds, the new event is accepted as distinct.
  • When happened_at is not provided: any identical event is rejected immediately, without a time window.
Error message

Duplicate tracking events are rejected with HTTP 400 and the message:

The tracking event must not be identical to an existing tracking event

PUT /orders/{order_id}/fulfillment-orders/{fulfillment_order_id}/tracking-events/{fulfillment_order_tracking_event_id}

Update Fulfillment Order Tracking Event

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier
fulfillment_order_idStringFulfillment Order Identifier
fulfillment_order_tracking_event_idStringFulfillment Order Tracking Event Identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Notes

  • Parameters are sent in body, JSON format
  • FulfillmentOrdeTrackingEventInput
  • Fulfillment Order Must be Already DISPATCHED and not DELIVERED
  • If the status is DELIVERED, the fulfillment order will be marked as DELIVERED and fulfilled. This means the fulfilled_at field will be filled with the current date and time.

Request Payload

TypeDescription
FulfillmentOrderTrackingEventInputThe Fulfillment Order Tracking Event Input.
{
"status": "in_transit",
"description": "The package was sent to cd address.",
"address": "St. Paul 123, São Paulo - Brazil 02910802",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00"
}

Responses

HTTP 200 - Ok
TypeDescription
FulfillmentOrderTrackingEventThe Fulfillment Order Tracking Event Response.
PUT /orders/123456/fulfillment-orders/01ARZ3NDEKTSV4RRFFQ69G5FAV/tracking-events/01FHZXHK8PTP9FVK99Z66GXJIO
{
"id": "01FHZXHK8PTP9FVK99Z66GXJIO",
"status": "in_transit",
"description": "The package was sent to cd address.",
"address": "St. Paul 123, São Paulo - Brazil 02910802",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
HTTP 400 - Bad Request
TypeDescription
ErrorThe Fulfillment Order Tracking Event Update Error Response
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Response
HTTP 404 - Not Found
TypeDescription
ErrorThe Not Found Fulfillment Order or Fulfillment Order Tracking Event Error Response

DELETE /orders/{order_id}/fulfillment-orders/{fulfillment_order_id}/tracking-events/{fulfillment_order_tracking_event_id}

DELETE Fulfillment Order Tracking Event

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier
fulfillment_order_idStringFulfillment Order Identifier
fulfillment_order_tracking_event_idStringFulfillment Order Tracking Event Identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Notes

  • Fulfillment Order Must be Already DISPATCHED and not DELIVERED

Responses

HTTP 204 - Not Content
DELETE /orders/123456/fulfillment-orders/01ARZ3NDEKTSV4RRFFQ69G5FAV/tracking-events/01FHZXHK8PTP9FVK99Z66GXJIO
HTTP 400 - Bad Request
TypeDescription
ErrorThe Fulfillment Order Tracking Event Delete Error Response
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Response
HTTP 404 - Not Found
TypeDescription
ErrorThe Not Found Fulfillment Order or Fulfillment Order Tracking Event Error Response

GET /orders/{order_id}/fulfillment-orders/{fulfillment_order_id}/tracking-events

GET All Fulfillment Order Tracking Events By Fulfillment Order

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier
fulfillment_order_idStringFulfillment Order Identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Responses

HTTP 200 - Ok
TypeDescription
FulfillmentOrderTrackingEvent[]List of Fulfillment Order Tracking Events Response.
GET /orders/123456/fulfillment-orders/01ARZ3NDEKTSV4RRFFQ69G5FAV/tracking-events
[
{
"id": "01FHZXHK8PTP9FVK99Z66GXJIO",
"status": "dispatched",
"description": "The package was dispatched",
"address": "St. Paul 123, São Paulo - Brazil 02910802",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
]
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Response
HTTP 404 - Not Found
TypeDescription
ErrorThe Not Found Fulfillment Order Error Response

GET /orders/{order_id}/fulfillment-orders/{fulfillment_order_id}/tracking-events/{fulfillment_order_tracking_event_id}

GET Fulfillment Order Tracking Event

URL values

Field nameField TypeMandatoryDescription
store_idStringStore identifier
order_idStringOrder identifier
fulfillment_order_idStringFulfillment Order Identifier
fulfillment_order_tracking_event_idStringFulfillment Order Tracking Event Identifier

Headers

HeaderField TypeMandatoryDescription
AuthenticationStringBearer App token. Eg.: bearer {app_token}
Content-typeStringThe request content-type "application/json"

Responses

HTTP 200 - Ok
TypeDescription
FulfillmentOrderTrackingEventList of Fulfillment Order Tracking Events Response.
GET /orders/123456/fulfillment-orders/01ARZ3NDEKTSV4RRFFQ69G5FAV/tracking-events/01FHZXHK8PTP9FVK99Z66GXJIO
{
"id": "01FHZXHK8PTP9FVK99Z66GXJIO",
"status": "dispatched",
"description": "The package was dispatched",
"address": "St. Paul 123, São Paulo - Brazil 02910802",
"geolocation": {
"longitude": 73.856077,
"latitude": 40.848447
},
"happened_at": "2022-11-24T10:20:19+00:00",
"estimated_delivery_at": "2022-11-24T10:20:19+00:00",
"created_at": "2022-11-24T10:20:19+00:00",
"updated_at": "2022-11-24T10:20:19+00:00"
}
HTTP 401 - Unauthorized
TypeDescription
ErrorThe Unauthorized Response
HTTP 404 - Not Found
TypeDescription
ErrorThe Not Found Fulfillment Order or Fulfillment Order Tracking Event Error Response

Webhooks

Fulfillment Order Webhooks allow applications to receive automatic notifications whenever relevant events occur in the lifecycle of a Fulfillment Order.

Available Events

EventDescriptionWhen it is triggered
fulfillment_order/status_updatedNotifies about macro status changes of the Fulfillment OrderWhen the Fulfillment Order status changes (e.g., PACKED, DISPATCHED, DELIVERED)
fulfillment_order/tracking_event_createdNotifies when a new tracking event is created for a Fulfillment OrderWhen a new tracking event of the Fulfillment Order is created
fulfillment_order/tracking_event_updatedNotifies when a tracking event of a Fulfillment Order is updatedWhen a tracking event of the Fulfillment Order is updated
fulfillment_order/tracking_event_deletedNotifies when a tracking event is removed from a Fulfillment OrderWhen a tracking event of the Fulfillment Order is deleted

Payload Structure

Webhook fulfillment_order/status_updated sends:

  • store_id: ID of the store where the event occurred
  • event: Name of the triggered event
  • order_id: ID of the order associated with the Fulfillment Order
  • fulfillment_id: Unique ID of the Fulfillment Order (ULID)
  • status: Fulfillment Order status

Webhooks fulfillment_order/tracking_event_created, fulfillment_order/tracking_event_updated and fulfillment_order/tracking_event_deleted send:

  • store_id: ID of the store where the event occurred
  • event: Name of the triggered event
  • order_id: ID of the order associated with the Fulfillment Order
  • fulfillment_id: Unique ID of the Fulfillment Order (ULID)
  • tracking_event_id: Unique ID of the Fulfillment Order tracking event (ULID)
  • status: Tracking event status (see FulfillmentOrderTrackingEventStatus)

fulfillment_order/status_updated

Triggered when a Fulfillment Order status is updated.

{
"store_id": "5145204",
"event": "fulfillment_order/status_updated",
"order_id": "1822717346",
"fulfillment_id": "01K9QFMHKYRJGQV5Y289WBYMFZ",
"status": "DISPATCHED"
}

Payload fields:

  • store_id: Store ID
  • event: Event name (fulfillment_order/status_updated)
  • order_id: Order ID
  • fulfillment_id: Unique Fulfillment Order ID (ULID)
  • status: Fulfillment Order status (see FulfillmentOrderStatus)

fulfillment_order/tracking_event_created

Triggered when a new tracking event is created for a Fulfillment Order.

{
"store_id": "5145204",
"event": "fulfillment_order/tracking_event_created",
"order_id": "1822717346",
"fulfillment_id": "01K9QFMHKYRJGQV5Y289WBYMFZ",
"tracking_event_id": "01K9QQ16GPYVDHZPAEGK3SFZAD",
"status": "in_transit"
}

Payload fields:

  • store_id: Store ID
  • event: Event name (fulfillment_order/tracking_event_created)
  • order_id: Order ID
  • fulfillment_id: Unique Fulfillment Order ID (ULID)
  • tracking_event_id: Unique Fulfillment Order tracking event ID (ULID)
  • status: Tracking event status (see FulfillmentOrderTrackingEventStatus)

fulfillment_order/tracking_event_updated

Triggered when a tracking event of a Fulfillment Order is updated.

{
"store_id": "5145204",
"event": "fulfillment_order/tracking_event_updated",
"order_id": "1822717346",
"fulfillment_id": "01K9QFMHKYRJGQV5Y289WBYMFZ",
"tracking_event_id": "01K9QQ16GPYVDHZPAEGK3SFZAD",
"status": "delivered"
}

Payload fields:

  • store_id: Store ID
  • event: Event name (fulfillment_order/tracking_event_updated)
  • order_id: Order ID
  • fulfillment_id: Unique Fulfillment Order ID (ULID)
  • tracking_event_id: Unique Fulfillment Order tracking event ID (ULID)
  • status: Tracking event status (see FulfillmentOrderTrackingEventStatus)

fulfillment_order/tracking_event_deleted

Triggered when a tracking event of a Fulfillment Order is deleted.

{
"store_id": "5145204",
"event": "fulfillment_order/tracking_event_deleted",
"order_id": "1822717346",
"fulfillment_id": "01K9QFMHKYRJGQV5Y289WBYMFZ",
"tracking_event_id": "01K9QQ16GPYVDHZPAEGK3SFZAD",
"status": "delivered"
}

Payload fields:

  • store_id: Store ID
  • event: Event name (fulfillment_order/tracking_event_deleted)
  • order_id: Order ID
  • fulfillment_id: Unique Fulfillment Order ID (ULID)
  • tracking_event_id: Unique Fulfillment Order tracking event ID (ULID)
  • status: Tracking event status (see FulfillmentOrderTrackingEventStatus)

Webhook Registration

To receive notifications for these events, you must register webhooks through the Webhooks API.

See the complete Webhooks documentation for detailed information on how to create, update, and manage your webhooks.

Registration example:

POST /webhooks
{
"event": "fulfillment_order/tracking_event_created",
"url": "https://api.partner.com/webhooks/fulfillment"
}

Required Scopes

To receive Fulfillment Order webhooks, your application must have the following scopes:

ScopeDescription
read_fulfillment_ordersAllows receiving notifications about Fulfillment Orders
write_fulfillment_ordersRequired for write operations on Fulfillment Orders

Important Considerations

  • Idempotency: Webhooks should be implemented in an idempotent way, as the same event may be sent multiple times
  • Timeout: Your application must respond within 10 seconds with an HTTP 2xx status code
  • Delivery Order: Events are sent in order of emission, but may be processed asynchronously
  • Security: It is recommended to validate the origin of requests using the x-linkedstore-hmac-sha256 header (see Webhook Verification)
  • Format: The request body will always be application/json and will contain the event field
  • Retries: In case of failure, the system will perform automatic retries according to the retry policy