JoJo Maman Bébé Integration Guide - XML

JoJo Maman Bébé Integration Guide - XML

 

 

 

JoJo Maman Bébé  

Direct Dispatch Supplier Onboarding 

Generic FileSystem - XML 

 

 

Prepared by Anna Britton (Professional Services Specialist)  

& Cobi Martin (Training and Documentation Coordinator) 

 

 

 

Welcome to the Platform 

Kornit X is happy to welcome you to the platform. We work closely with JoJo Maman Bébé to enable integrations for the passing and end to end management of orders for fulfilment by third party suppliers. 

 

Receiving Orders from Kornit X 

Managing Orders Via XML 

Kornit X have created a standard XML Format that we can generate and push over SFTP to an accessible location for suppliers to then connect and read the files, importing the orders into their own production systems. The same SFTP can then be used to pass back acknowledgement of the order and dispatch confirmation again in a standard XML format. 

 

To enable us to generate and pass these files we need SFTP Credentials: 
  1. Hostname 
  2. Username 
  3. Password 
  4. Port 

We can set up a location for these files through our Architects team if you do not have access to an SFTP server yourself or you can provide us these details from your own solution. 

We can also authenticate through a key pair which if needed we can generate and provide you with. 


Kornit X will periodically create an XML file in the /orders directory of the SFTP account for any new orders. If the /orders directory does not exist then it will be automatically created by Kornit X. 


The XML file may contain multiple items.

 

This XML file contains all details required to complete the order split into sections: 

 

> Order 

> Item 

> Assets 

> Attributes 

 

The order elements of the XML contains all of the order specific details such as: 

  1. Order Numbers 
  2. Shipping Address 
  3. Billing Address 
  4. Customer Details (name, email etc) 
  5. Shipping details (Method and Carrier) 

The <orders> object then contains an <items> array of which there can be multiple <item> objects - In more general terms, an order can contain multiple items. 

 

The <item> element will include the same fields as the item object described in the Order-iT integration guide available at https://developers-v2.custom-gateway.net/ 

 

In addition to the standard fields, the item element will also include <assets> and <attributes>. 

The <assets> element will include a series of child <asset> tags for each piece of artwork associated with an item. Each <asset> has a <name>, <url> and optional <description> child elements. The quantity of <asset> elements will depend primarily upon the item’s type. 

 

Each <item> will contain <asset> element for: 

Each surface area output in each available image format. The naming convention for the asset will be in the form output-x.ext where x is the surface area number. 

Each surface area merge output in each available image format. The naming convention for the asset will in the form output-merge-x.ext where x is the surface area merge reference. 

 

A range of thumbnails, each with a naming convention of the form thumbnail-x.png where x identifies the view or angle from which the thumbnail was taken. 

 

It is possible for us to send text based personalisation in the XML mainly on orders placed using the Textual item type where there is no requirement for the supplier to receive print ready artwork from the platform. 

This is a setting on the integration which your Kornit X contact can enable for you. 

These fields are added to the <attributes> element 

 

The supplier is required to upload an acknowledgement file to the /acknowledgements directory of the SFTP account which Kornit X will then take as confirmation that the supplier is ready and happy to process the order. 

The acknowledgement XML file can contain multiple orders and is structured as follows: 

 

The ID field must correlate to an order that the supplier has received via the orders XML file. The supplier may not send an acknowledgement for an order that it was never sent to begin with. 

Once the file has been processed by Kornit X, it will be deleted. 

Once the order has been completed and dispatched to the customer, the supplier should upload a shipment file to the /shipments directory. 

 

The shipment file follows exactly the same structure as the acknowledgement file and the same principles should be used in its creation. The only addition is that the shipping file can contain a tracking link / reference. 

Once processed by Kornit X the shipments XML files will be deleted. 

 

Below is an example of an anonymised XML file. 

 

<orders> 

<order> 

<id>16128737</id> 

<company_ref_id>18698</company_ref_id> 

<secondary_company_ref_id>18878</secondary_company_ref_id> 

<ref>F87B1B135F7EF784</ref> 

<status>516</status> 

<shipping_company/> 

<shipping_address_1>43 TEST STREET</shipping_address_1> 

<shipping_address_2/> 

<shipping_address_3/> 

<shipping_address_4>TEST</shipping_address_4> 

<shipping_address_5>TEST</shipping_address_5> 

<shipping_postcode>J34 2JF</shipping_postcode> 

<shipping_country>United Kingdom</shipping_country> 

<shipping_country_code>GB</shipping_country_code> 

<billing_company/> 

<billing_address_1/> 

<billing_address_2/> 

<billing_address_3/> 

<billing_address_4/> 

<billing_address_5/> 

<billing_postcode/> 

<billing_country>United Kingdom</billing_country> 

<customer_name>MISS A TESTER</customer_name> 

<customer_telephone/> 

<customer_telephone_mobile/> 

<sale_datetime>2020-10-08 00:00:00</sale_datetime> 

<external_ref>2766692200</external_ref> 

<has_been_completed/> 

<completion_datetime>0000-00-00 00:00:00</completion_datetime> 

<has_pdf_been_queued/> 

<has_pdf_been_completed/> 

<shipping_method>5 Days</shipping_method> 

<shipping_carrier> JoJoMamanBebeStore</shipping_carrier> 

<shipping_tracking/> 

<shipping_note_url/> 

<payment_trans_id>12345</payment_trans_id> 

<payment_type/> 

<has_initial_confirmation_email_been_sent/> 

<has_shipping_confirmation_email_been_sent/> 

<creation_datetime>2020-10-08 11:27:00</creation_datetime> 

<additional_info>DQ695212</additional_info> 

<has_error/> 

<error_message/> 

<required_dispatch_date>2020-10-14</required_dispatch_date> 

<is_status_callback_pending/> 

<stock_request_id>0</stock_request_id> 

<status_callback_attempts>0</status_callback_attempts> 

<status_callback_next_retry>0000-00-00 00:00:00</status_callback_next_retry> 

<consolidate/> 

<has_been_invoiced/> 

<billing_customer_name/> 

<billing_customer_email/> 

<billing_customer_telephone/> 

<shipping_price>0</shipping_price> 

<shipping_price_inc_tax>0</shipping_price_inc_tax> 

<shipping_tax_rate>0</shipping_tax_rate> 

<is_urgent/> 

<tag/> 

<pos_user_id/> 

<coupon_code/> 

<currency_code>GBP</currency_code> 

<is_free_of_charge/> 

<status_name>Received by shipper</status_name> 

<company_external_ref/> 

<items> 

<item> 

<id>34328128</id> 

<sale_vat_rate>0</sale_vat_rate> 

<external_ref>2799366</external_ref> 

<ref>n6xrl213tp</ref> 

<order_id>16128737</order_id> 

<sku>291169</sku> 

<mapped_sku>291169</mapped_sku> 

<description>P Snta Stop Strt Sgn</description> 

<colour/> 

<size>ONE</size> 

<quantity>1</quantity> 

<type>2</type> 

<print_job_id>43816626</print_job_id> 

<print_job_promise_ref/> 

<external_url/> 

<external_thumbnail_url/> 

<status>1</status> 

<print_on_demand_ref/> 

<plain_stock_item_ref/> 

<license/> 

<license_percentage/> 

<unit_sale_price>18</unit_sale_price> 

<unit_sale_price_inc_tax>18</unit_sale_price_inc_tax> 

<unit_cost_price>0</unit_cost_price> 

<shipping_price>0</shipping_price> 

<shipping_price_inc_tax>0</shipping_price_inc_tax> 

<bundle_ref/> 

<textual_product_id>1690160</textual_product_id> 

<product_variant_id/> 

<quantity_batched>1</quantity_batched> 

<quantity_dispatched>0</quantity_dispatched> 

<stock_request_id/> 

<artwork_barcode>43816626</artwork_barcode> 

<quantity_consolidated>0</quantity_consolidated> 

<product_state_id/> 

<status_name>Received</status_name> 

<print_job_ref>5A45179F665F74BF52</print_job_ref> 

<assets> 

<asset> 

<name>output-1.jpg</name> 

<description>Santa Stop Sign</description> 

</asset> 

<asset> 

<name>thumbnail.png</name> 

<description>Default Thumbnail</description> 

</asset> 

<asset> 

<name>thumbnail-288386.png</name> 

<description>Thumbnail Santa Stop Here Sign</description> 

</asset> 

</assets> 

<attributes> 

<attribute> 

<name>Colour</name> 

<value>Aqua</value> 

</attribute> 

<attribute> 

<name>Postcode for map</name> 

<value>OL25TG</value> 

</attribute> 

<attribute> 

<name>House Number or Name</name> 

<value>8</value> 

</attribute> 

<attribute> 

<name>Street</name> 

<value>Kirkdale Drive</value> 

</attribute> 

<attribute> 

<name>Town</name> 

<value>Royton</value> 

</attribute> 

<attribute> 

<name>Names</name> 

<value>The Sencicle Home</value> 

</attribute> 

</attributes> 

</item> 

</items> 

<pdfs> 

<pdf> 

<type>1</type> 

</pdf> 

</pdfs> 

</order> 

</orders> 

 

 

The below one has some amendments in bold to clarify fields where the contents is not obvious. 

 

<orders> 

<order> 

<id>KORNITX UNIQUE ORDER ID</id> 

<company_ref_id>KORNITX ID REFERENCE FOR JoJo Maman Bébé </company_ref_id> 

<secondary_company_ref_id>KORNITX SUPPLIER ID</secondary_company_ref_id> 

<ref>KORNITX ORDER REFERENCE</ref> 

<status>516</status> 

<shipping_company/> 

<shipping_address_1>43 TEST STREET</shipping_address_1> 

<shipping_address_2/> 

<shipping_address_3/> 

<shipping_address_4>TEST</shipping_address_4> 

<shipping_address_5>TEST</shipping_address_5> 

<shipping_postcode>J34 2JF</shipping_postcode> 

<shipping_country>United Kingdom</shipping_country> 

<shipping_country_code>GB</shipping_country_code> 

<billing_company/> 

<billing_address_1/> 

<billing_address_2/> 

<billing_address_3/> 

<billing_address_4/> 

<billing_address_5/> 

<billing_postcode/> 

<billing_country>United Kingdom</billing_country> 

<customer_name>MISS A TESTER</customer_name> 

<customer_telephone/> 

<customer_telephone_mobile/> 

<sale_datetime>TIMESTAMP ON THE ORDER FROM JoJo Maman Bébé</sale_datetime> 

<external_ref> JoJo Maman Bébé ORDER REFERENCE</external_ref> 

<has_been_completed/> 

<completion_datetime>0000-00-00 00:00:00</completion_datetime> 

<has_pdf_been_queued/> 

<has_pdf_been_completed/> 

<shipping_method> JoJo Maman Bébé EXPECTED LEAD TIME</shipping_method> 

<shipping_carrier> JoJoMamanBebeStore</shipping_carrier> 

<shipping_tracking/> 

<shipping_note_url/> 

<payment_trans_id> JoJo Maman Bébé INVOICE NUMBER</payment_trans_id> 

<payment_type/> 

<has_initial_confirmation_email_been_sent/> 

<has_shipping_confirmation_email_been_sent/> 

<creation_datetime>2020-10-08 11:27:00</creation_datetime> 

<additional_info>DQ695212</additional_info> 

<has_error/> 

<error_message/> 

<required_dispatch_date>2020-10-14</required_dispatch_date> 

<is_status_callback_pending/> 

<stock_request_id>0</stock_request_id> 

<status_callback_attempts>0</status_callback_attempts> 

<status_callback_next_retry>0000-00-00 00:00:00</status_callback_next_retry> 

<consolidate/> 

<has_been_invoiced/> 

<billing_customer_name/> 

<billing_customer_email/> 

<billing_customer_telephone/> 

<shipping_price>0</shipping_price> 

<shipping_price_inc_tax>0</shipping_price_inc_tax> 

<shipping_tax_rate>0</shipping_tax_rate> 

<is_urgent/> 

<tag/> 

<pos_user_id/> 

<coupon_code/> 

<currency_code>GBP</currency_code> 

<is_free_of_charge/> 

<status_name>Received by shipper</status_name> 

<company_external_ref/> 

<items> 

<item> 

<id>34328128</id> 

<sale_vat_rate>0</sale_vat_rate> 

<external_ref>2799366</external_ref> 

<ref>n6xrl213tp</ref> 

<order_id>16128737</order_id> 

<sku> JoJo Maman Bébé ITEM NUMBER</sku> 

<mapped_sku>291169</mapped_sku> 

<description>P Snta Stop Strt Sgn</description> 

<colour/> 

<size>ONE</size> 

<quantity>1</quantity> 

<type>2</type> 

<print_job_id>43816626</print_job_id> 

<print_job_promise_ref/> 

<external_url/> 

<external_thumbnail_url/> 

<status>1</status> 

<print_on_demand_ref/> 

<plain_stock_item_ref/> 

<license/> 

<license_percentage/> 

<unit_sale_price>18</unit_sale_price> 

<unit_sale_price_inc_tax>18</unit_sale_price_inc_tax> 

<unit_cost_price>0</unit_cost_price> 

<shipping_price>0</shipping_price> 

<shipping_price_inc_tax>0</shipping_price_inc_tax> 

<bundle_ref/> 

<textual_product_id>1690160</textual_product_id> 

<product_variant_id/> 

<quantity_batched>1</quantity_batched> 

<quantity_dispatched>0</quantity_dispatched> 

<stock_request_id/> 

<artwork_barcode>43816626</artwork_barcode> 

<quantity_consolidated>0</quantity_consolidated> 

<product_state_id/> 

<status_name>Received</status_name> 

<print_job_ref>5A45179F665F74BF52</print_job_ref> 

<assets> 

<asset> 

<name>output-1.jpg</name> 

<description>Santa Stop Sign</description> 

</asset> 

<asset> 

<name>thumbnail.png</name> 

<description>Default Thumbnail</description> 

</asset> 

<asset> 

<name>thumbnail-288386.png</name> 

<description>Thumbnail Santa Stop Here Sign</description> 

</asset> 

</assets> 

<attributes> 

<attribute> 

<name>Colour</name> 

<value>Aqua</value> 

</attribute> 

<attribute> 

<name>Postcode for map</name> 

<value>OL25TG</value> 

</attribute> 

<attribute> 

<name>House Number or Name</name> 

<value>8</value> 

</attribute> 

<attribute> 

<name>Street</name> 

<value>Kirkdale Drive</value> 

</attribute> 

<attribute> 

<name>Town</name> 

<value>Royton</value> 

</attribute> 

<attribute> 

<name>Names</name> 

<value>The Sencicle Home</value> 

</attribute> 

</attributes> 

</item> 

</items> 

<pdfs> 

<pdf> 

<type>1</type> 

<url>URL FOR DISPATCH NOTE FOR DOWNLOAD AND PRINT</url> 

</pdf> 

</pdfs> 

</order> 

</orders> 

  

Managing Cancellations through Kornit X 

 When using the XML method for receiving orders you can also add cancellation files into the SFTP (into specific directories for each) if required.  

 

Cancellations via XML 

Orders can be cancelled via the XML. To do so XML should be placed in the /shipments directory on your SFTP.   
Below is an example of how this needs to appear within the XML.  

  

<cancellations xmlns:c="https://custom-gateway.net/sl/proxy2/generic-fs/cancellation" xmlns:ci="https://custom-gateway.net/sl/proxy2/generic-fs/cancellation-item">  

  

  <c:cancellation 

   <c:items 

     <ci:item 

      <ci:order_item_id>43463373</ci:order_item_id 

     </ci:item 

    </c:items 

</c:cancellation 

</cancellations> 

 

Managing Stock Inventory through Kornit X 

 Managing Stock via XML 



NOTE - with this inventory file, "ean" can be replaced with "sku". JoJo Maman Bébé generally use EAN. 

On the SFTP these XML files should be placed in a directory called /inventory in the root. 

 

<inventory xmlns:i="https://custom-gateway.net/sl/proxy2/generic-fs/inventory" xmlns:p="https://custom-gateway.net/sl/proxy2/generic-fs/inventory-product"> 

<i:product> 

<p:ean>ABC</p:ean> 

<p:quantity_available>1</p:quantity_available> 

</i:product> 

</inventory> 


Additional Considerations 


Despatch / Delivery Date 

 Please note that the dispatch date is the date that the customer is expecting the product to be delivered to them, therefore you should be dispatching before this date with enough time to include your delivery. 
 

 

 

Branded Dispatch Notes / Despatch Notes  

A branded A4 Dispatch Note must be included within each order. It contains information which is vital for the Customer Returns process.    

An example Dispatch Note can be viewed here

The Dispatch Note is available to download and print from the platform. 

If you are integrating directly with the platform, a URL will be included with the data where you will be able to access and print the Dispatch Note. 

  

Order Consolidation 

 As standard, orders will be passed as individual order lines and the supplier can consolidate at the packing stage if desired.   
For example, if a customer orders 2 products from JoJo Maman Bébé in 1 transaction, two individual orders will be passed to the supplier. 

 

 

 

 However, there are systemic solutions available - these should be discussed and agreed with the JoJo Maman Bébé team directly. 

    • Related Articles

    • JoJo Maman Bébé Integration Guide - CSV

            JoJo Maman Bébé   Direct Dispatch Supplier Onboarding  Generic FileSystem - CSV    Prepared by Anna Britton (Professional Services Specialist)   & Cobi Martin (Training and Documentation Coordinator)             Welcome to the Platform  ...
    • JoJo Maman Bébé Integration Guide - API

      JoJo Maman Bébé Direct Dispatch Supplier Onboarding Generic API Prepared by Anna Britton (Professional Services Specialist) & Cobi Martin (Training and Documentation Coordinator) Welcome to the Platform Kornit X are happy to welcome you to the ...
    • JoJo Maman Bébé Integration Guide - Kornit X Platform For Personalised

      Personalised Suppliers Using The Kornit X Platform Prepared by Anna Britton (Professional Services Specialist) & Cobi Martin (Training and Documentation Coordinator) The following document has been written to aid JoJo Maman Bébé Personalised ...
    • JoJo Maman Bébé | Technical Documentation Summary

      The following contains a list of the available JoJo Maman Bébé technical documentation created by the Kornit X team. Product Management Personalised Product Onboarding & Set Up Personalised Products - Live Preview >> Personalised Products - No ...
    • JoJo Maman Bébé Integration Guide - Kornit X Platform For Direct Dispatch

      Direct Dispatch Suppliers Using The Kornit X Platform Prepared by Anna Britton (Professional Services Specialist) & Cobi Martin (Training and Documentation Coordinator) The following document has been written to aid JoJo Maman Bébé Direct Dispatch ...