ShipHawk ERP Integration Guide

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

For sending information to ShipHawk, the following requirements must be met:

1. Shipments must be synced to ShipHawk

When a shipment is ready to be packed and/or shipped in ShipHawk, the shipment must be synced over to ShipHawk. Only the object related to the actual shipment needs to be synced. 

  1. For example, in NetSuite there are Sales Order objects, and each Sales Order may have multiple Item Fulfillment records which represent the pick task and shipment. 

  2. This sync must take into account the mappings that have been configured by the administrator. 

  3. Order sync must be able to recover in the case of order sync failing

    1. For example, if a shipment sync (or any request to SH API) failed:

      • save detailed information to logs that can be accessed by an administrator

      • ensure there is a system that will try sending the record again after some time

      • if fails constantly (10 attempts over 5 hours with exponential delay) - mark the order/fulfillment as failed to sync.

  4. Allow the user to manually sync an order to ShipHawk by clicking a button

 Technical details

Order sync uses the ___ endpoint. Please refer to the order sync documentation for information on various JSON objects . The following fields are required:

  • The order_number of the object being shipped.

  • Origin address block, with the warehouse code field populated.

    • The warehouse code is an ID that is set in ShipHawk to differentiate warehouses. The order creation request should include a warehouse ID that corresponds to a warehouse inputted in ShipHawk:

  • The destination address block

  • The items being shipped, in the order_line_items block:

    • Required:

      • sku

      • name

      • description

      • qty

      • item weight

      • ShipHawk specific Smartpacking information:

        • item_type (parcel, handling_unit, unpacked)

        • type_of_item (loose, box, pallet)

        • do_not_pack_with_other_items (boolean)

        • do_not_palletize (boolean)

        • do_not_pack_before_palletize (boolean)

    • If available:

  • order status

  • order level reference_numbers, as mapped by the administrator

  • billing_details, if mapped by the administrator

    • Note: If the bill_to field is not populated by the mapping, then the field should default to ‘sender’

  • requested_rate_id, for cases where the user rates the shipment. See #2 below.

2. Users must rate order in the ERP with ShipHawk

Prior to fulfillment, users must be able to rate the order in the ERP with ShipHawk by clicking a button. Upon clicking this button, the connector must send a rating request to shiphawk, receive rates from ShipHawk, and display them in a dropdown menu. Not all customers will use this, but it is important for some B2B use cases. In our other integrations, this rating exists at the Sales Order level, and not at the shipment level object. 

 Technical details

Here is what rating looks like in Netsuite:

Here is what rating looks like in Acumatica:

In order to rate in ShipHawk, the rates endpoint must be used.

The following fields are required:

  • Apply rules: true

  • Any origin or destination accessorials

  • ~most fields from the shipment sync above~ (to be copied over later)

3. Serial/lot numbers must be synced with ShipHawk

The serial/lot numbers available for packing/ shipping must be synced with ShipHawk so that they can be verified in ShipHawk. This can be done by sending

  1. The user must be able to scan a serial/lot number into ShipHawk.

  2. ShipHawk must have a list of serial/lot numbers in stock for that SKU, and be able to verify the serial number scanned. 

  3. After a shipment is booked, the serial/lot numbers must be recorded in the ERP using webhooks.

  • No labels