PRODUCT
Published on

Skrym releases Checkout API

Author
Prasanna Balaji
Prasanna Balaji
Max Danielsson
Max Danielsson
Mert Mercan
Mert Mercan
Vilhelm Melkstam
Vilhelm Melkstam
Lukas Peterson
Lukas Peterson
David Bern
David Bern

Skrym launches Checkout API to provide a logistics-aware solution for retailers worldwide

We are very excited to finally announce our new and powerful Checkout API, designed to help retailers worldwide embed logistics awareness and optimization into their online shopping experience.

The API will make it much easier to build dynamic behaviour into the checkout experience, ensuring delivery options are displayed, priced and ranked correctly.

It feels so good to finally bring a solution to the market that developers will actually want to use.

Max Danielsson, Product Manager at Skrym

Already in use, the new Checkout API is also the backbone of our integrations with checkout providers such as Klarna. And of course, it is available for free to all Skrym users currently using Skrym through a standard checkout integration.

Functionality

Now let's explore some of the new functionality that comes with this release. While there is a lot to be excited about, we have chosen our favourite three features that come with the Checkout API.

When using the checkout, you can specify what the freight objects will be, or rely on Skrym's Optmization algorithms.
  • This data is then used to return the exact cost for every delivery method and enable you to use this in pricing, ranking and filtering
  • For example, set up your Checkout so that you always display the cheapest option as free, and price the others as the mean difference - giving your customers full freedom of choice without risk to your margin.
This provides a foundation for you to easily improve your net margin thanks to simply being smarter. Oh, and of course it has full support for all the oddities of shipping pricing, such as fuel surcharges, remote surcharges, handling fees...

Integrate easily

One quality of life feature where the positive response from customers has completely blown us away is the ability to use aliasing. In short, aliasing enables interfacing with legacy software without requiring figuring out where certain old semantics come from, significantly reducing barriers to implementation and time needed to get up and running.

Advanced aliasing
flowchart LR subgraph Aliasing sk([Skrym]) end erp([ERP]) <-->|PN_SERVICE_17| Aliasing wms([WMS]) <-->|pn-mpc| Aliasing bi([BI]) <-->|postnord-mypack-collect| Aliasing ts([Transporter]) <-->| 17 | Aliasing
With the advanced aliasing support that Skrym applies, you can easily harmonize discrepancies in semantics from legacy systems without requiring any integration work. Skrym can intelligently match any provided alias, and also translate the output back to an alias where needed.

This flexibility makes it extremely easy to migrate from your existing solution to Skrym, since important identifiers (for example codes for different transport methods) in both input and output can remain the same.

Example - using custom parameters for styling output

Like described above, one of the the most powerful functionalities in our Checkout API is the ability to use custom parameters.

Now let us look at how you can use custom parameters for crafting great checkout experiences for your customers, since you can also add custom parameters in the response body for each shipping option.

Suppose we want to achieve the following:

  • If customerType is LOYALTY then return expressShipping as true for all home delivery shipping options

You only need to do the following 3 steps to achieve this

  1. Define your custom parameters customerType and expressShipping
  2. Add a checkout tactic to include the condition on customerType
  3. Add the expressShipping to the home delivery shipping options in this tactic

In effect, this will give you output that looks like the following:

{
  "sessionId": "50cfae0c-521b-4b97-9802-025dd3b64004",
  "transportMethods": [
    {
      "transporterId": "6a92c0e6-dca9-4170-a518-7bea880400b6",
      "transportMethodId": "c9ad6e82-f164-423f-ade1-7e1619449c79",
      "transporter": "DB Schenker",
      "transportMethod": "Collection Point",
      "methodCode": "",
      "deliveryType": "service-point-pickup",
      "priceForCustomer": 4900,
      "costForRetailer": 0,
      "deliveryTime": {
        "interval": {
          "earliest": 1,
          "latest": 3
        },
        "earliest": "2024-06-28T11:18:51.336777725Z",
        "latest": "2024-06-30T11:18:51.336777725Z"
      },
      "customParameters": {}
    },
    {
      "transporterId": "8a93b0f8-fbd4-487d-bc61-46e23d3f68c7",
      "transportMethodId": "f6bd14f6-9134-438b-8a7f-09d45c81d2df",
      "transporter": "PostNord",
      "transportMethod": "MyPack Home",
      "methodCode": "postnord-mph",
      "deliveryType": "home-delivery",
      "priceForCustomer": 5900,
      "costForRetailer": 0,
      "deliveryTime": {
        "interval": {
          "earliest": 1,
          "latest": 2
        },
        "earliest": "2024-06-27T11:18:51.336777725Z",
        "latest": "2024-06-28T11:18:51.336777725Z"
      },
      "customParameters": {
        "expressShipping": "true"
      }
    },
    {
      "transporterId": "2b27a1d6-77c6-44ea-b4c4-0123456789ab",
      "transportMethodId": "e7a6d7e3-1234-5678-9012-34567890abcd",
      "transporter": "DHL",
      "transportMethod": "Home Delivery",
      "methodCode": "dhl-hd",
      "deliveryType": "home-delivery",
      "priceForCustomer": 7500,
      "costForRetailer": 0,
      "deliveryTime": {
        "interval": {
          "earliest": 1,
          "latest": 2
        },
        "earliest": "2024-06-27T11:18:51.336777725Z",
        "latest": "2024-06-28T11:18:51.336777725Z"
      },
      "customParameters": {
        "expressShipping": "true"
      }
    }
  ]
}

Want to try it?

If you want to get access to the Checkout API, reach out through the button below and we will help you get the credentials needed for getting started.

You can also read more about how to implement our Checkout API on our Docs.

Previous

Glimja chooses Skrym for state-of-the-art warehouse
← Back