Supplier Integration | HP Site Flow (Formally Oneflow)

Supplier Integration | HP Site Flow (Formally Oneflow)

Introduction

The following article details the supplier integration which can be used to sent orders into a HP Site Flow account and subsequently receive status updates for those orders.
Please note that OneFlow was bought by HP in 2019 and has since updated its name to HP Site Flow.  Due to this change this article has been updated to include the new name. 
To contact HP Site Flow about working with them please contact them here with the "Contact Us" button - Link

Setup

To setup the HP Site Flow supplier integration, please head to your dropship  company and within the advanced settings head to "Supplier Integrations" and click to enable the HP Site Flow Option. This has been shown below. 

When setting this up you will need to set your "API Key", "API Secret" and "Destination Account" all of which will be provided by HP Site Flow before you set up this integration. 

Component Codes

Another important option to set with this integration is the Component Code Method which is a dropdown that should be set to control the component code field set in the data sent to HP Site Flow. The options are detailed in the below table to know the differences between them and which one should be set for your integration. 
Component Code Name
Description
Use Ecommerce Manufacturer Code
This code will be taken from the manufacturers_code field on the ecommerce settings of the product associated with the order item. This gives the ability for each product to have its own component code set. 
User Override
This option allows a Component Code to be defined throughout the integration so all orders for this integration will use the same code. The Component Code will be taken from the override_component_code field on the integrations settings set here.
Use Each Print Area Name
Component Code will be taken from the name field on each of the print areas of the product associated with the order item. This will also cause the integration to send a component for each print area as opposed to a single component. For this to work you must set up the print area’s names field with the component code. If you have some products which require multiple component codes and some that do not you will need to use the Print area name set up and set all print area names on the products to have the correct component code for the product/print area.

Callback URLs

The following part of the article details the difference Callback URLs that must be used within the HP Site Flow system set for various events. 
Please note that orders should be updated using their Fulfiller API Key and Company Reference ID
The structure of the callback URL should be as follows: https://api-client.custom-gateway.net/oneflow/postback/?g=COMPANYREFID&k=APIKEY. Please note that where "COMPANYREFID" and "APIKEY" are set these must be replaced with the respective values in order to work. 

HP Site Flow also needs to be told what data to include within the callback. The following templates in the below table should be used:


Option Name
Template
Order Errored
{
"TimeStamp": "{{timestamp}}",
"SourceOrderId": "{{data.orderData.sourceOrderId}}",
"OrderStatus": "error"
}
Order Shipped
{

"TimeStamp": "{{timestamp}}",

"SourceOrderId": "{{data.sourceOrderId}}",

"SourceShipmentId": "{{shipmentId}}",

"ShipmentIndex": "{{data.shipmentIndex}}",

"TrackingNumber": "{{data.trackingNumber}}",

"OrderStatus": "shipped"

}
Order Cancelled
{

"TimeStamp": "{{timestamp}}",

"SourceOrderId": "{{data.orderData.sourceOrderId}}",

"OrderStatus": "cancelled"

}
Order Received
{

"TimeStamp": "{{timestamp}}",

"SourceOrderId": "{{data.orderData.sourceOrderId}}",

"OrderStatus": "received"

}
Order Print Ready
{
"TimeStamp": "{{timestamp}}",

"SourceOrderId": "
{{data.orderData.sourceOrderId}}",

"OrderStatus": "printready"
}
Order Submission Error
"TimeStamp": "{{timestamp}}", 

"SourceOrderId": "{{data.bodyJson.orderData.sourceOrderId}}", 

{{#isTruthy data.errorList}} 

"errors": [ "{{join (unique (pluck data.errorList "message")) "\", \""}}" ] 

{{/isTruthy}} 
"OrderStatus": "error" 

You can also modify the Shipments Shipped trigger to send item level shipments if required with the following:
{
"TimeStamp": "{{timestamp}}",
"SourceOrderId": "{{data.sourceOrderId}}",
"SourceShipmentId": "{{shipmentId}}",
"ShipmentIndex": "{{data.shipmentIndex}}",
"TrackingNumber": "{{data.trackingNumber}}",
"OrderStatus": "shipped",
        "Items": [
              {{#each data.items}}
                {{prettyJson this}}{{#if @last}}{{else}},{{/if}}
        {{/each}}
  ]
}

Features

The following breaks down the multiple features that can be set with this supplier integration. 
  1. "Enabled" toggle - When the supplier integration has been turned on this toggle will be set to on. To disable the integration simply slide this to off. 
  2. "Version" dropdown - The version dropdown allows options to be set for either "Latest" or "Previous" which will either use the legacy version of HP Site Flow or the latest version. This will depend on the age of the integration and if you are unsure please contact us and we can advise you on which is best for you. 
  3. "Email Errors To" textbox - Any email added to this textbox will be notified whenever there are any errors with the integration. Multiple emails can be notified by using a simple comma between the email.
  4. "Start Timestamp (UTC) textbox - This timestamp will set a time whenever this integration is enabled within the UTC timings. This can be overwritten if required. 
  5. "Push Min. Order Age (s)" textbox - This means the minimum age in seconds of an order (from the time of creation) before it will be pushed to HP Site Flow.
  6. "Use Dedicated Order Endpoint" toggle - Only visible if the "Latest" version has been enabled this option, this will enable the new Site Flow endpoint. The benefits of this include this will support those who use dynamic/calculated Attributes and overtime the old endpoint will be deprecated in the future. 
  7. "Secondary Orders" toggle - This option should be enabled if your orders have both a primary and secondary company set on them.  In most cases, this option will need to be enabled unless you are advised otherwise by Kornit X staff. 
  8. "Dropship Delegation" toggle - Dropship delegates allow an integration to be set up once on a single dropship company and the integration settings apply to all dropships that are linked to that fulfiller.  A dropship delegate can be set on any fulfiller company.  If this is a feature you want to use, enable this option on the HP Site Flow integration settings of the dropship delegate that's set on the fulfiller company.
  9. "Attribute Whitelist" toggle - This option should be enabled if there are certain attributes that are considered to be acceptable attributes, example of this could be accepting attributes for neck tag labels and anything not fitting this will be ignored. Please note when enabled a textbox option will be visible towards the bottom of the integration setup menu which shuld be added to as the Attribute Group. 
  10. "Dispatch Date Filter" toggle - With this toggle enabled the dispatch date can be filtered for orders. 
  11. "Attach Dispatch PDF" toggle - This toggle should be enabled if you require this PDF to be included with ever order flowing through this integration. 
  12. "Use External Item Ref" toggle - This toggle is enabled by default as this will ensure that the print jobs will use the external item ref which will also be seen when generating orders. 
  13. "Create Shipments" toggle - This toggle should be enabled for those customers who wish to create a shipment with every order instead of in bulk. 
  14. "Item Level Shipments" toggle - This toggle needs to be enabled to return line-item level shipment shipped post backs back into the Platform.
  15. "Regenerate Expired Print Jobs" toggle - By default print jobs regeneration expires after 6 months of being generated, with this toggle enabled you will be able to regenerate expired print jobs well beyond the 6 months expiry. 
  16. "Enable State Code To Name Conversion" toggle - When this option is enabled on the integration you will be able to pass the state name (such as Texas, California etc) over to the PSPs to generate shipping labels. For example: if you look at an order shipping tab in the Kornit X platform and it has TX or CA this is what Kx will pass to the PSP with the option disabled however, if enabled KX will convert state code from the platform to state name and pass the state name over in the integration. 
  17. "Company Name Mode" dropdown - By default this toggle is set to "Disabled" but customers can change this to "Mixed" or "Payment Type" which will tell the platform the name mode. If unsure please leave this blank and contact us. 
For more information on this integration please refer to the following article which was produced by HP - Link

Video

Below is a video that was created to detail this integration, the video refers to the former name but please note this still applies for HP Site Flow. 

    • Related Articles

    • Supplier Integration | Fedex

      Introduction This article has been created to show how to setup the supplier integration Kornit X has built to connect to Fedex. This is completely unrelated to our Fedex shipping integration, the difference being this connects to Fedex as a ...
    • Supplier Integration | Print Geek

      Introduction This article has been created to show how to setup the supplier integration Kornit X has built to connect to PrintGeek.  For business enquiries with PrintGeek please click here.  Setup To setup the PrintGeek integration, please head to ...
    • Supplier Integration | FifthSun

      Introduction This article has been created to show how to setup the supplier integration Kornit X has built to connect to FifthSun.  Setup To setup the Fifth Sun integration, please head to your company and within the advanced settings head to ...
    • Supplier Integration | Probo Supplier

      Introduction This article has been created to show how to setup the supplier integration Kornit X has built to connect to Probo.  Setup To setup the Probo integration, please head to your company and within the advanced settings head to "Supplier ...
    • Supplier Integration | Dubow

      Introduction This article has been created to show how to setup the supplier integration Kornit X has built to connect to OnPrintShop.  Setup To setup the Dubow integration, please head to your company and within the advanced settings head to ...