{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-contents/partners/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Ingrid","description":"Explore our documentation and API and start integrating Kustom Checkout","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"ingrid","__idx":0},"children":["Ingrid"]},{"$$mdtype":"Tag","name":"img","attributes":{"alt":"Ingrid","width":"250","src":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5MzMiIGhlaWdodD0iMzUwIiB2aWV3Qm94PSIwIDAgNjQgMjQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xNS4yNjk5IDYuMTA4NjRDMTMuODU5NCA2LjEwODY0IDEyLjU0OTUgNi42NjQ1NSAxMS42NzQ3IDcuNjM0NDlMMTEuNDQ1NCA3Ljg5MDM1VjYuMzU5ODVIOC41MjE0OFYxOC41ODk5SDExLjYyMDlWMTEuNTI1OUMxMS42MjA5IDkuOTYyODIgMTIuODE2MiA4Ljc4MzU0IDE0LjQwMjEgOC43ODM1NEMxNS4wNTIzIDguNzgzNTQgMTUuNjkwOSA5LjAzMDA5IDE2LjE1NDEgOS40NTgwOEMxNi42OTQ1IDkuOTU4MTcgMTYuOTc5OCAxMC42NzIyIDE2Ljk3OTggMTEuNTIzNVYxOC41ODk5SDIwLjA3OTJWMTAuODE2NEMyMC4wODE1IDguMDg4MDYgMTguMDU4MSA2LjEwODY0IDE1LjI2OTkgNi4xMDg2NFoiIGZpbGw9IiMyQTJBMzMiLz48cGF0aCBkPSJNNDAuMTMyNCA4LjI0MTM0TDM5Ljg4MjEgOC43Mjc0OFY2LjM2MTk0SDM2Ljk2MDRWMTguNTkySDQwLjA1OTlWMTIuOTQ0NUM0MC4wNTk5IDEwLjM4NTkgNDEuMzM5MyA5LjA4ODAxIDQzLjg2MDkgOS4wODgwMUg0NC4xNjAzVjYuMzYxOTRINDMuNTgwMkM0MS45ODAyIDYuMzYxOTQgNDAuNzU0NiA3LjAyOTUgNDAuMTMyNCA4LjI0MTM0WiIgZmlsbD0iIzJBMkEzMyIvPjxwYXRoIGQ9Ik00OC43MjQzIDYuMzYxOTRINDUuNjI1VjE4LjU5Mkg0OC43MjQzVjYuMzYxOTRaIiBmaWxsPSIjMkEyQTMzIi8+PHBhdGggZD0iTTYwLjcwMjkgMS44MjU5OVY3Ljk5NDU0TDYwLjQ3NjEgNy43NTQ5NkM1OS40NzI1IDYuNzAzNjEgNTguMDY2NyA2LjEyNDQzIDU2LjUyMDUgNi4xMjQ0M0M1My4wMzc2IDYuMTI0NDMgNTAuMzA3NyA4LjkyNzI2IDUwLjMwNzcgMTIuNTA0NkM1MC4zMDc3IDE2LjA2ODEgNTMuMDM3NiAxOC44NTkyIDU2LjUyMDUgMTguODU5MkM1OC4wODc3IDE4Ljg1OTIgNTkuNTM4IDE4LjI2MTUgNjAuNjA0NyAxNy4xNzUyTDYwLjgzMTYgMTYuOTQ1VjE4LjYwNTdINjMuODA0NlYxLjgyNTk5SDYwLjcwMjlaTTU3LjEwNTMgMTYuMjg2N0M1NS4wNDQ1IDE2LjI4NjcgNTMuNDMwNiAxNC42MjU5IDUzLjQzMDYgMTIuNTA2OUM1My40MzA2IDEwLjM3MTcgNTUuMDQ0NSA4LjcwMTY0IDU3LjEwNTMgOC43MDE2NEM1OS4xODAyIDguNzAxNjQgNjAuODA1OCAxMC4zNzQgNjAuODA1OCAxMi41MDY5QzYwLjgwNTggMTQuNjI1OSA1OS4xODAyIDE2LjI4NjcgNTcuMTA1MyAxNi4yODY3WiIgZmlsbD0iIzJBMkEzMyIvPjxwYXRoIGQ9Ik00OC4yNDk0IDAuNDAwMzgyQzQ3Ljc2NzYgMC4xMDQ5ODEgNDcuMTk2OCAwLjAxMTk0MDYgNDYuNjQ0OCAwLjEzOTg3MUw0Ni42Mjg0IDAuMTQyMTk3QzQ1LjQ5ODYgMC40MTY2NjQgNDQuNzk2OCAxLjU1MTc1IDQ1LjA2MzUgMi42ODIxOUM0NS4yOTA0IDMuNjQwNSA0Ni4xNDE5IDQuMzA4MDYgNDcuMTMxNCA0LjMwODA2QzQ3LjI5NTEgNC4zMDgwNiA0Ny40NjExIDQuMjg5NDUgNDcuNjIwMiA0LjI1MjIzQzQ4LjE3MjMgNC4xMjE5OCA0OC42NDAxIDMuNzg3MDMgNDguOTM5NSAzLjMwNzg4QzQ5LjIzODkgMi44Mjg3MiA0OS4zMzAxIDIuMjYxMTggNDkuMjAxNSAxLjcxMjI0QzQ5LjA3MDUgMS4xNjMzMSA0OC43MzE0IDAuNjk1Nzg0IDQ4LjI0OTQgMC40MDAzODJaIiBmaWxsPSIjMkEyQTMzIi8+PHBhdGggZD0iTTQuNzkyNjQgMC4yMTY1NTNDNC42MzEyMyAwLjIxNjU1MyA0LjQ2NzQ5IDAuMjM1MTYxIDQuMzAzNzUgMC4yNzIzNzdDMy43NTE3MiAwLjQwMjYzMiAzLjI4MTU1IDAuNzM3NTc2IDIuOTg0NDggMS4yMTY3M0MyLjY4NzQxIDEuNjk1ODkgMi41OTM4NCAyLjI2MzQzIDIuNzI0ODMgMi44MTIzN0MyLjg1NTgzIDMuMzYxMyAzLjE5MjY2IDMuODI4ODMgMy42NzQ1MyA0LjEyNDIzQzQuMTUxNzEgNC40MTk2MyA0LjczMTgyIDQuNTEyNjcgNS4yNzkxNyA0LjM4NDc0QzYuNDE4MzMgNC4xMTcyNSA3LjEyNzA5IDIuOTc1MTggNi44NTgwOSAxLjg0MjQyQzYuNjI2NTIgMC44NzQ4MSA1Ljc1NDAyIDAuMjE2NTUzIDQuNzkyNjQgMC4yMTY1NTNaIiBmaWxsPSIjMkEyQTMzIi8+PHBhdGggZD0iTTMxLjg5NDEgNy43NTA0NEwzMS42Njk1IDcuNTI3MTVDMzAuNjk0MiA2LjU1NDg4IDI5LjM1MTUgNi4wMTk5IDI3Ljg4OTUgNi4wMTk5QzI3Ljg2NjIgNi4wMjIyMyAyNy44NTQ0IDYuMDIyMjMgMjcuODM4MSA2LjAxOTlIMjcuODM1N0MyNi45MDk0IDYuMDE5OSAyNi4wMzkzIDYuMjE3NjEgMjUuMjQzOSA2LjYxMDdDMjMuMDAzMSA3LjY0NTc3IDIxLjYxMzYgOS44OTI2OCAyMS42MTM2IDEyLjQ3NDZDMjEuNjEzNiAxNS45NDk2IDI0LjIyNDEgMTguNTcxIDI3LjY4NjEgMTguNTcxQzI5LjQ4NzIgMTguNTcxIDMwLjcwMzUgMTguMTg3MiAzMS41MTI5IDE3LjM2MTVMMzEuNzM1MSAxNy4xMzU5TDMxLjc0NDUgMTcuNzM2QzMxLjc0NDUgMTkuODk0NSAzMC40MzIyIDIxLjI4NzggMjguNDAxOCAyMS4yODc4QzI3LjEzNjQgMjEuMjg3OCAyNi4wMjc1IDIwLjczMTkgMjUuNDE5NCAxOS43OTY4SDIyLjA5NzlDMjIuNjEwMSAyMS43MzQ0IDI0LjUxODkgMjMuOTE2MSAyOC4zMjQ3IDIzLjkxNjFDMzAuMzU1IDIzLjkxNjEgMzIuMDMyMiAyMy4yOTk4IDMzLjE3ODMgMjIuMTMyMUMzNC4yNTIgMjEuMDM2NiAzNC44MjA0IDE5LjUxNzcgMzQuODIwNCAxNy43MzgzVjYuMzYxODJIMzEuODk4OFY3Ljc1MDQ0SDMxLjg5NDFaTTI4LjM4NTQgMTYuMTI4N0MyNi4yOTkgMTYuMTI4NyAyNC43MjQ3IDE0LjU1MTcgMjQuNzI0NyAxMi40NjA2QzI0LjcyNDcgMTAuMzQ4NiAyNi4zMzQgOC42OTQ4IDI4LjM4NTQgOC42OTQ4QzMwLjQ1MzIgOC42OTQ4IDMyLjA3MTkgMTAuMzQ4NiAzMi4wNzE5IDEyLjQ2MDZDMzIuMDc0MiAxNC41NTQgMzAuNDg4MyAxNi4xMjg3IDI4LjM4NTQgMTYuMTI4N1oiIGZpbGw9IiMyQTJBMzMiLz48cGF0aCBkPSJNNi4xMzc4OSA2LjM1OTc0SDMuNDI0NUMzLjQyNDUgNy42NDgzNCAyLjM3MTg5IDguNjk1MDQgMS4wNzYwMSA4LjY5NTA0SDBWMTEuMzkzMkgxLjA3MzY2QzEuOTQxNDkgMTEuMzkzMiAyLjczOTEzIDExLjIwMDEgMy40MzM4NSAxMC44NjA1VjE4LjU4OThINi4zNzE4MVY2LjM2MjA3TDYuMTM3ODkgNi4zNTk3NFoiIGZpbGw9IiMyQTJBMzMiLz48L3N2Zz4K"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingrid"]}," offers a Delivery Platform that lets merchants configure and present tailored delivery options to their customers based on their own shipping rules and carrier setup."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Our partnership with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingrid"]}," allows merchants using Ingrid to surface their available shipping options directly in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Kustom Checkout"]},". Ingrid provides Kustom with delivery options — including split-shipment scenarios — based on the rules and carriers the merchant has configured in their Ingrid account."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can read more about Ingrid at ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.ingrid.com/"},"children":["ingrid.com"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"integrating-ingrid-with-kustom-checkout","__idx":1},"children":["Integrating Ingrid with Kustom Checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide is for platform partners and integration engineers connecting ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.ingrid.com/"},"children":["Ingrid"]}," as the shipping provider behind Kustom Checkout. It covers how to set up the integration, what shipping data is exposed before and after purchase, and how split-shipping changes the order structure."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ingrid is integrated through ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Kustom Shipping Assistant (KSA)"]}," using the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingrid Headless"]}," Transport Management System (TMS) connector. KSA fetches shipping options from Ingrid during checkout and maps them onto Kustom's order model, so the merchant works with a single, consistent order representation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For exact request and response details, refer to the linked API reference pages in each section."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":2},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A complete Ingrid + Kustom checkout has two cooperating systems:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingrid"]}," owns the carriers, delivery options, pickup locations, addons, and the merchant-facing tooling in the Ingrid Merchant Platform (IMP)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Kustom Checkout"]},", through KSA and the Ingrid Headless TMS connector, requests shipping options from Ingrid, renders them to the buyer, and records the buyer's choice on the order."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The end-to-end flow — order creation, shipping selection, completion, and shipment booking — is illustrated below."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"https://static.swimlanes.io/44ca1f5a0a45983d423cce5cc7cd32f8.png","alt":"Ingrid integration flow"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://swimlanes.io/u/c_4aDT5D_M"},"children":["Open the Ingrid integration flow diagram"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The rest of this guide is organised around the order lifecycle: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#setting-up"},"children":["setting up"]}," the connection, the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#pre-purchase"},"children":["pre-purchase"]}," flow while the order is still ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_incomplete"]},", the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#post-purchase"},"children":["post-purchase"]}," flow once the order is complete, and ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#split-shipping"},"children":["split-shipping"]}," for orders fulfilled by more than one shipment."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"setting-up","__idx":3},"children":["Setting up"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Setting up the integration is done in two places: Ingrid and Kustom."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"1-set-up-ingrid","__idx":4},"children":["1. Set up Ingrid"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sign up for the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingrid Merchant Platform (IMP)"]}," and configure your carriers, delivery options, and other shipping settings there. See Ingrid's ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://support.ingrid.com/space/KB/11534345/Access+to+Ingrid+Merchant+Platform"},"children":["Access to Ingrid Merchant Platform"]}," article and the setup guides available within Ingrid."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You will need the following from Ingrid to complete the Kustom setup:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingrid Site ID"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingrid private key"]}," — the plain key, ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," the base64-encoded variant."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"2-set-up-kustom-checkout","__idx":5},"children":["2. Set up Kustom Checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The general Shipping Assistant setup is documented in ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/checkout/shipping-assistant/overview#how-to-set-up-shipping-assistant-in-kustom-checkout"},"children":["How to Set Up Shipping Assistant in Kustom Checkout"]},". Follow that guide, with the following Ingrid-specific details."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preparation."]}," The general guide's note on digital products does not apply to the Ingrid integration — digital products are handled on Ingrid's side by tagging them with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["digital"]}," tag rather than through Kustom configuration. You can skip the digital-products step when integrating Ingrid."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Shipping credentials."]}," When activating KSA in the Kustom Portal, configure the connection as follows:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["TMS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingrid Headless"]},". Available in both Playground and Production."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Identifier"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your Ingrid Site ID."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Key"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your Ingrid private key — the plain key, not base64-encoded."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Playground"]},", the Ingrid Headless TMS connects to Ingrid's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["staging"]}," environment; in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Production"]},", it connects to Ingrid's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["production"]}," environment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The remaining setup steps — activating KSA in the Portal, triggering KSA in the checkout payload, and verifying the setup in Playground — are unchanged from the general Shipping Assistant guide."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"merchants-running-a-dual-iframe-checkout","__idx":6},"children":["Merchants running a dual-iframe checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Some merchants currently run a dual-iframe checkout during a transition period — an Ingrid iframe on top and a Kustom iframe below. Such merchants may need to keep collecting a separate shipping address while ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["not"]}," yet showing shipping options sourced from Ingrid inside Kustom."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To suppress option fetching, pass ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout/other/createordermerchant#other/createordermerchant/t=request&path=options/tms_configuration_override/disabled"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options.tms_configuration_override.disabled"]}]}," as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," when creating the order. Kustom will then collect the address but will not fetch shipping options from Ingrid."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"pre-purchase","__idx":7},"children":["Pre-purchase"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The pre-purchase flow covers everything after the order is created but before it is completed — that is, while the order's ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout/other/createordermerchant#other/createordermerchant/t=response&c=201&path=status"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkout_incomplete"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"selected-shipping-option","__idx":8},"children":["Selected shipping option"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout/other/createordermerchant#other/createordermerchant/t=response&c=201&path=selected_shipping_option"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selected_shipping_option"]}]}," attribute — present both in the order response and in callbacks — describes the shipping option the buyer chose. Its fields are populated from Ingrid as follows:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Mapped from"},"children":["Mapped from"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The shipping option ID generated by Ingrid"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["display_name"]}," of the Ingrid ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delivery_category"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not provided"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["promo"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not provided"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["price"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The price of the Ingrid ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delivery_option"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["preselected"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not provided"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tax_rate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Defaults to 25% — see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#tax-calculation-on-shipping-options"},"children":["Tax calculation on shipping options"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tax_amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Calculated from the defaulted 25% ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tax_rate"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shipping_method"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["KSA's representation of Ingrid's delivery type and location type — see the table below"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tms_reference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ingrid's session ID"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tos_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Available post-purchase only"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"shipping-method-mapping","__idx":9},"children":["Shipping method mapping"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shipping_method"]}," is derived from Ingrid's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delivery_type"]}," and, where available, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["location_type"]},":"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Ingrid delivery type"},"children":["Ingrid delivery type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Ingrid location type"},"children":["Ingrid location type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"KSA shipping_method"},"children":["KSA ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shipping_method"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LOCATION_TYPE_UNSPECIFIED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Undefined"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LOCKER"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PickUpPoint"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["STORE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PickUpPoint"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POSTOFFICE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PickUpPoint"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MANNED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PickUpPoint"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELIVERY_TYPE_UNSPECIFIED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Undefined"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELIVERY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Home"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MAILBOX"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Postal"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PICKUP"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PickUpPoint"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Home"]}," if no locations are available"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INSTORE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PickUpStore"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Home"]}," if no locations are available"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"delivery-details","__idx":10},"children":["Delivery details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selected_shipping_option.delivery_details"]}," carries the carrier and logistics detail:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["carrier"]}," — KSA's supported carrier, decoded from Ingrid's carrier name"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["class"]}," — always ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["STANDARD"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["product"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["identifier"]}," — Ingrid's carrier product ID"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}," — Ingrid's carrier name"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["timeslot"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," — Ingrid's generated shipping option ID for the timeslot"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["start"]}," — timeslot start time"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["end"]}," — timeslot end time"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pickup_location"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," — the numeric ID of the location, as per Ingrid"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}," — the name of the location"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}," — the address of the location"]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"selected-addons","__idx":11},"children":["Selected addons"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selected_shipping_option.selected_addons"]}," is an array, with one entry per chosen addon:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," — Ingrid's ID of the addon"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["price"]}," — the price of the addon"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]}," — the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]}," of the addon as defined in Ingrid"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"tax-calculation-on-shipping-options","__idx":12},"children":["Tax calculation on shipping options"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ingrid does not calculate tax, so KSA defaults ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tax_rate"]}," on the selected shipping option to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["25%"]}," (and derives ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tax_amount"]}," from it). To avoid overpaying tax, merchants and platforms should apply the correct tax for the shipping option based on the cart."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To do this, implement the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout-callback/other/updateshippingoption"},"children":["shipping option update callback"]}," and return one or more ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shipping_fee"]}," order lines on the order in the callback response. These override the defaulted ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tax_rate"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tax_amount"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"merchant-references","__idx":13},"children":["Merchant references"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The merchant's order references — ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout/other/createordermerchant#other/createordermerchant/t=request&path=merchant_reference1"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchant_reference1"]}]}," and ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout/other/createordermerchant#other/createordermerchant/t=request&path=merchant_reference2"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchant_reference2"]}]}," — are propagated to Ingrid so that orders can be found easily in the Ingrid Merchant Platform."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["⚠️ Important — send merchant references before completion."]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Provide the merchant references ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["before the order is completed"]}," so that they can be sent to Ingrid.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If they are missing at completion time, Kustom passes its own ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout/other/createordermerchant#other/createordermerchant/t=response&c=201&path=order_id"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order_id"]}]}," as the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]}," of the Ingrid session instead."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Kustom does not update the Ingrid session after the order is completed. Sending merchant references to the Order Management API afterwards will therefore ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," propagate them to Ingrid."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"post-purchase","__idx":14},"children":["Post-purchase"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The post-purchase flow covers the order once it is complete, including retrieving shipping information and booking the shipment with Ingrid."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"shipping-information-from-kustom","__idx":15},"children":["Shipping information from Kustom"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Shipping information remains available after the order is complete. Both ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tms_reference"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tos_id"]}," are found on the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/order-management/orders/getorder#orders/getorder/t=response&c=200&path=selected_shipping_option"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selected_shipping_option"]}]},", in the Checkout API and the Order Management API alike."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tos_id"]}," is usually all that is needed to book a shipment, since Ingrid auto-fills the remaining information. If another system needs more detail, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tos_id"]}," can be used to fetch the full shipment information from Ingrid via the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://api-stage.ingrid.com/v1/delivery_checkout/_/swagger/#/default/DeliveryCheckout_ListSessionsSummaries"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sessions_summaries.list"]}]}," API."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"booking-shipments-with-ingrid","__idx":16},"children":["Booking shipments with Ingrid"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Because the Ingrid Headless API shares much of its model with the Ingrid delivery checkout API, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tos_id"]}," is enough for Ingrid to have all the information required to create a shipment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To fulfil the order, the merchant creates and books the shipment with Ingrid using Ingrid's SOM API, providing the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tos_id"]}," from the order's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selected_shipping_option"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"split-shipments","__idx":17},"children":["Split shipments"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A single order can be fulfilled by more than one shipment. For example, when goods come from multiple warehouses, or need to be shipped separately for any other reason, split-shipping is the way to model that."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The split-shipping flow is illustrated in the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://swimlanes.io/u/I6QU7uzTky"},"children":["split-shipping flow diagram"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"how-it-differs-from-a-single-shipment","__idx":18},"children":["How it differs from a single shipment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The pre-purchase and post-purchase flows are nearly identical for split-shipping. The differences are in how the order is set up and in the structure of the selected shipping options."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deliveries"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deliveries"]}," array holds information about each shipment. Every order line — except lines of ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout/other/createordermerchant#other/createordermerchant/t=request&path=order_lines/type"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["gift_card"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["store_credit"]}," — must be assigned to a delivery via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order_lines[].shipping_attributes.delivery_id"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  ...\n  \"deliveries\": [\n    {\n      \"id\": \"Shipment-1\",\n      \"title\": \"Shipment 1\",\n      \"description\": \"Refrigerated goods\",\n      \"readiness\": [\n        {\n          \"earliest\": \"2026-03-16T08:40:34.865Z\",\n          \"latest\": \"2026-03-17T08:40:34.865Z\",\n          \"attributes\": [ \"premium\" ]\n        }\n      ],\n      \"origins\": [\n        { \"external_id\": \"cold-storage-1\" }\n      ]\n    },\n    {\n      \"id\": \"Shipment-2\",\n      \"title\": \"Shipment 2\",\n      \"description\": \"Dry goods\",\n      \"readiness\": [\n        {\n          \"earliest\": \"2026-03-16T08:40:34.865Z\",\n          \"latest\": \"2026-03-17T08:40:34.865Z\",\n          \"attributes\": [ \"economy\" ]\n        }\n      ],\n      \"origins\": [\n        { \"external_id\": \"warehouse-1\" }\n      ]\n    }\n  ],\n  \"order_lines\": [\n    {\n      \"type\": \"physical\",\n      \"reference\": \"salmon-001\",\n      \"name\": \"Fresh Salmon Fillet\",\n      \"quantity\": 1,\n      \"shipping_attributes\": { \"delivery_id\": \"Shipment-1\" }\n    },\n    {\n      \"type\": \"physical\",\n      \"reference\": \"pasta-001\",\n      \"name\": \"Spaghetti 500g\",\n      \"quantity\": 3,\n      \"shipping_attributes\": { \"delivery_id\": \"Shipment-2\" }\n    }\n  ]\n}\n   ...\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There is no enforced limit on the number of deliveries an order can have."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Selected shipping options"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A split-shipping order naturally has more than one selected shipping option. The Checkout API, the callback API, and the Order Management API therefore expose an additional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selected_shipping_options"]}," attribute: an array whose entries have the same structure as ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.kustom.co/contents/api/checkout/other/createordermerchant#other/createordermerchant/t=response&c=201&path=selected_shipping_option"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selected_shipping_option"]}]},", one per selected shipping option."]}]},"headings":[{"value":"Ingrid","id":"ingrid","depth":1},{"value":"Integrating Ingrid with Kustom Checkout","id":"integrating-ingrid-with-kustom-checkout","depth":2},{"value":"Overview","id":"overview","depth":2},{"value":"Setting up","id":"setting-up","depth":2},{"value":"1. Set up Ingrid","id":"1-set-up-ingrid","depth":3},{"value":"2. Set up Kustom Checkout","id":"2-set-up-kustom-checkout","depth":3},{"value":"Merchants running a dual-iframe checkout","id":"merchants-running-a-dual-iframe-checkout","depth":3},{"value":"Pre-purchase","id":"pre-purchase","depth":2},{"value":"Selected shipping option","id":"selected-shipping-option","depth":3},{"value":"Shipping method mapping","id":"shipping-method-mapping","depth":4},{"value":"Delivery details","id":"delivery-details","depth":4},{"value":"Selected addons","id":"selected-addons","depth":4},{"value":"Tax calculation on shipping options","id":"tax-calculation-on-shipping-options","depth":3},{"value":"Merchant references","id":"merchant-references","depth":3},{"value":"Post-purchase","id":"post-purchase","depth":2},{"value":"Shipping information from Kustom","id":"shipping-information-from-kustom","depth":3},{"value":"Booking shipments with Ingrid","id":"booking-shipments-with-ingrid","depth":3},{"value":"Split shipments","id":"split-shipments","depth":2},{"value":"How it differs from a single shipment","id":"how-it-differs-from-a-single-shipment","depth":3}],"frontmatter":{"seo":{"title":"Ingrid"}},"lastModified":"2026-05-25T13:28:44.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/contents/partners/tms-partners/ingrid","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}