API Reference

Attributes

carrier_code

The value of the carrier method in Fulfil.

channels

Sale channels associated with the orders the shipment was created for.

"channels": [ { "code": "PH-MANUAL", "id": 2, "name": "Phone Order" } ]

channels.code

The channel 'code' of the order.

channels.id

The sale channel id in Fulfil of the order.

channels.name

The channel name in Fulfil for the order where this shipment was created.

create_date

The date and time when the shipment was created in ISO format. All timestamps are in UTC.

customer

The customer purchasing the item

"customer": { "billing_accounts": [ { "account_number": "910999999", "bill_to": "third_party", "carrier_identifier": "fedex", "country": "US", "zip": "90210" } ], "name": "Bruce Wayne", "phone": "13123123123", "email": "bruce@wayneenterprises.com" }

customer.billing_accounts

A list of the customers billing accounts associated in Fulfil.

  • This is useful if the cost of shipping should be billed to your customer or to another 3rd party that is not the 3PL.

customer.billing_accounts.account_number

Number of customers billing account

customer.billing_accounts.bill_to

Who the cost of shipping should be billed to. Supported values are

  • third_party
  • recipient

carrier_identifier

Carrier with which the billing account is associated. Supported values are:

  • fedex
  • ups
  • dhl_express

country

ISO country code.

zip

Zip code of the billing account.

customer.name

Name of the customer that purchased the order.

customer.phone

Phone number of the customer.

customer.email

Email of the customer

id

Unique identifier for the customer shipment record.

insurance_amount

If an insurance amount has been specified for the shipment, this will be the value of the shipment for which insurance should be booked with the shipping carrier.

number

User-facing alphanumeric number to identify the shipment. This is also a unique identifier. This number should not be confused with the order number.

priority

0-4 where 0 is the highest and 4 is the lowest.

planned_date

The date on which the shipment is expected to be shipped. Future planned shipments will not be available until the planned date.

requested_delivery_date

The date on which the shipment is requested to be delivered.

delivery_address

The address to ship to

"delivery_address": { "address1": "10 Fifth Avenue", "address2": "Apt 1501", "business_name": "Acme Ltd.", "city": "New York", "code": "123123", "country_code": "US", "dock": null, "edi_location_number": null, "email": "bob.ipsum@gmail.com", "name": "Bob Ipsum", "phone": "+12126789876", "subdivision_code": "NY", "zip": "10011" }

shipping_instructions

Extra shipping instructions for picker/packer for fulfilment.

gift_message

If there is a gift message associated with the shipment level in Fulfil.

carrier

The shipping carrier to be used

{ "carrier": "ups" }

request_confirmation

If the merchant or custom has indicated shipment confirmation has been requested. This field will be used to indicate that. Supported values are:
null, service_default, delivery, signature, adult_signature, direct_signature, indirect_signature, do_not_safe_drop or leave_at_door

bill_of_lading

A BOL Number is a legally binding document that tracks and confirms the receipt, carriage, and delivery of cargo.

service

The carrier service will be used to indicate the shipping service to deliver the customer shipment.

{ "service": "ground" }

lines

"lines": [ { "id": 123456, "product": { "id": 1234, "code": "HOODIE-BUNDLE", "upc": "123456789012", "name": "Hoodie Bundle (Large & Medium)", "buyer_sku": "SKU-123" }, "quantity": 1, "unit": "u", "gift_message": "Happy birthday", "delivery_date": "2020-05-31", "order": { "id": 1234, "number": "SO12345", "reference": "PO89897", "sale_date": { "__class__": "date", "iso_string": "2023-01-10" }, "channel_segment": "D2C" }, "order_line": { "cross_dock_location": { "address1": "10 Fifth Avenue", "address2": "Apt. 503", "business_name": null, "city": "New York City", "code": "123567", "country_code": "US", "dock": null, "edi_location_number": null, "email": "hello@fulfil.io", "name": "John Doe", "phone": "+12129999991", "subdivision_code": "NY", "zip": "10011" }, "edi_attributes": null, "id": 1530 }, "sublines": [ { "id": 677, "product": { "code": "HOODIE-001-M", "id": 8, "name": "Hoodie (Medium)", "upc": null }, "quantity": 3.0, "uom": "u", "options": [ { "id": 12345, "option": { "id": 1, "name": "Engraving", "code": "ENGR", "type": "string" }, "value": "Happy Birthday" } ] }, { "id": 676, "product": { "code": "HOODIE-001-L", "id": 7, "name": "Hoodie (Large)", "upc": null }, "quantity": 3.0, "uom": "u", "options": [] } ] } ]

id

The id of the line item (stock move).

product.id

The id of the product in Fulfil.

product.code

SKU of the product

product.upc

UPC of the product (optional)

product.name

Variant name of the product

product.buyer_sku

If the shipments customer has a buyer_sku type product code setup, the value will be returned. (optional)

product.metafields

If the metafield is enabled to expose to 3PL's, a list of metafield objects will be included. The metafield field and value are exposed.

sublines

If the line item is a bundle, then the sub-items are provided in this attribute. The quantity is the quantity to pick, so if the customer orders 2 iPads, the sub-items would indicate 2 chargers (the quantity for the total quantity on the line item).

unit_customs_value

The customs value is the value of the item that determines how much import duty the package recipient must pay.

  • When a product has any value that is greater than zero, the customs value of the product is considered to be the unit price at which the products were sold.
  • When the unit price of an item is zero in an order, Fulfil automatically picks up the customs value of the product to compute the customs total

quantity

The quantity to ship. This could be a floating point if the UOM is weight, length or volume

order.id

The Fulfil id of the sale order where this shipment line was created

order.number

The number of the order where this shipment line was created

order.reference

The reference of the order where this shipment line was created. Reference is usually a remote channel order number or customer PO number. This is an optional value

order.sale_date

ISO8601 formatted order date.

order.channel.code

The channel 'code' of the order for this shipment line

order.channel.id

The channel id in Fulfil of the order where this shipment line was created

order.channel. name

The channel name in Fulfil for the order where this shipment line was created

uom

The unit of measure

options

When a line item is personalized or customized, the line item may have additional options. These options are setup by the merchant and different from one merchant to another. Using the code of the option to identify the options that you as a 3PL care about is the recommended approach.

Each option has the following attributes:

options[].option.name

Displayed name of the option

options[].option.code

Code of the option. You should use this as a way to identify the options that can be handled.

options[].option.type

Type of option. The following value are supported

  • string: A string - example an engraving message
  • text: A longer format string
  • product: A SKU as a customization option
  • integer: An integer value as option
  • float: A floating point value as option
  • numeric: A decimal value as option
  • selection: A value selected from a list of options
  • date: A date in iso format

options[].value

The value of the option in all cases will be a string. The developer is responsible for typecasting the string based on the option.type into the appropriate value.

options[].quantity

Only available when the option type is product

When the option type is product, it usually indicates the need to bundle additional items as part of the line item. The value in this case would be the SKU and the quantity indicates the quantity of the option SKU to ship

related_orders

A list of sale order objects associated with the customer shipment.

{ ..., "related_orders": [ { "dropship_order_reference": null, "edi_attributes": null, "id": 719, "invoice_address": { "address1": "10 Fifth Avenue", "address2": "Apt 1501", "business_name": "Acme Ltd.", "city": "New York", "code": "12345", "country_code": "US", "dock": null, "edi_location_number": null, "email": "bob.ipsum@gmail.com", "name": "Bob Ipsum", "phone": "+12126789876", "subdivision_code": "NY", "zip": "10011" }, "trading_partner": { "id": 12, "identifier": "123", "contact": { "id": 2, "name": "Jon Snow", "code": "1255" } }, "number": "SO12345", "reference": "PO89897", "shipping_end_date": "2022-01-31", "shipping_start_date": "2022-01-01" } ], ... }

cross_dock_locations

A list of cross-dock location objects that are be split by location address and the line id's (items) associated with each location.

{ "cross_dock_locations": [ { "address": { "address1": "444 Castro", "address2": "", "business_name": null, "city": "Mountain View", "code": "0659", "country_code": "US", "dock": null, "edi_location_number": null, "email": "bruce@wayne.com", "name": "Wayne headquarters", "phone": null, "subdivision_code": "SF", "zip": "94041" }, "items": [ 123, 456, 789 ] }, { "address": { "address1": "264 Stirling Rd", "address2": "", "business_name": null, "city": "Warren", "code": "06124", "country_code": "US", "dock": null, "edi_location_number": null, "email": "fulfilment@foo.com", "name": "Starship Ent.", "phone": "+15143379999", "subdivision_code": "ME", "zip": "04864" }, "items": [ 1456, 2345, 1904 ] } ] }