Hoppa till innehållet

Checkout

Checkout from available methods to placed order, including discount coupons, gift cards, shipping price calculation and postal code lookup. Payment runs through a provider-agnostic session: the response says how to render it, not which provider produced it.

13 calls POST GET PATCH Base URL https://api.erp.fluit.cloud/ecom

Authentication, error codes, rate limits, idempotency and pagination apply to every call and are documented once under Getting started.

POST /checkout/apply-code

Apply code

Validates a gift card or discount code for checkout use.

Body required

Field Type
code string · nullable

Responses

200 ApplyCodeResponse
Field Type
balance decimal · nullable
code string · nullable
currencyId string · nullable
discountCalculation string · nullable
discountName string · nullable
discountValue decimal · nullable
type string · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 400 404 Errors

Examples

curl
curl -X POST "https://api.erp.fluit.cloud/ecom/checkout/apply-code" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Content-Type: application/json" \
  -d @body.json
Response 200
{
  "balance": "299.00",
  "code": "string",
  "currencyId": "string",
  "discountCalculation": "string",
  "discountName": "Acme AB",
  "discountValue": "299.00",
  "type": "string"
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

GET /checkout/attempts/{key}

Get the outcome of a place-order attempt

Returns what became of a `POST /ecom/checkout/place` sent with the given `Idempotency-Key`, within the caller's own session.

Show the full description

Use it when the response to place-order was lost, for example after a timeout followed by a page reload: the order may already exist and the cart is then converted, so sending the request again would only answer that the cart is already converted. `Completed` carries the order id and number, `Pending` means the original request is still running, and `Failed` means it got a final error and no order was created. Attempts are kept for 24 hours.

Path parameters

Field Type
key Required string

Responses

200 PlaceOrderAttemptResponse
Field Type Description
orderId string(uuid) · nullable
orderNumber string · nullable
state enum Pending Completed Failed
statusCode integer · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 401 404 Errors

Examples

curl
curl "https://api.erp.fluit.cloud/ecom/checkout/attempts/{key}" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Response 200
{
  "orderId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
  "orderNumber": "SO-2026-1041",
  "state": "Pending",
  "statusCode": 42
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

GET /checkout/data

Get checkout data

Returns available shipping methods, payment methods and pre-filled customer data for the checkout page.

Responses

200 CheckoutDataResponse
Field Type
countries CheckoutCountry[] · nullable
customer CheckoutCustomerData
paymentMethods CheckoutPaymentMethod[] · nullable
settings CheckoutSettings
shippingMethods CheckoutShippingMethod[] · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 401 Errors

Examples

curl
curl "https://api.erp.fluit.cloud/ecom/checkout/data" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Response 200
{
  "countries": [
    {
      "code": "string",
      "name": "Acme AB"
    }
  ],
  "customer": {
    "companyName": "Acme AB",
    "contactId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
    "contactName": "Anna Svensson",
    "customerId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
    "customerType": "string",
    "defaultAddress": {
      "city": "Stockholm",
      "country": "string",
      "postalCode": "11122",
      "street1": "Storgatan 1",
      "street2": "string"
    },
    "defaultBackorderBehavior": "string",
    "email": "order@acme.se",
    "firstName": "Acme AB",
    "lastName": "Acme AB",
    "name": "Acme AB",
    "orgNumber": "ABC-001",
    "phone": "+46 8 123 45 67",
    "savedAddresses": [
      {
        "city": "Stockholm",
        "contactPerson": "string",
        "country": "string",
        "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
        "isDefault": true,
        "name": "Acme AB",
        "phone": "+46 8 123 45 67",
        "postalCode": "11122",
        "street1": "Storgatan 1",
        "street2": "string"
      }
    ]
  },
  "paymentMethods": [
    {
      "allowsTaxReduction": true,
      "description": "string",
      "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "name": "Acme AB"
    }
  ],
  "settings": {
    "allowBackorderChoice": true,
    "allowBackorders": true,
    "allowGuestCheckout": true,
    "allowRequestedDeliveryDate": true,
    "checkoutCustomerMode": "string",
    "checkoutProvider": "string",
    "requireLogin": true,
    "reviewPlatform": "string",
    "termsPageSlug": "string"
  },
  "shippingMethods": [
    {
      "description": "string",
      "estimatedDelivery": "string",
      "freeShippingThreshold": "299.00",
      "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "isPickup": true,
      "name": "Parcel, next day",
      "price": "299.00",
      "taxPercent": "12.50",
      "usesDynamicPricing": true
    }
  ]
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

POST /checkout/pickup-locations

List pickup locations for the cart

Returns the channel's pickup locations (warehouses the channel offers for pickup), in the channel's order, with whether the session's cart can be picked up at each. `InStock`: everything is there today. `AvailableFrom`: something is on its way there (purchase, transfer or production) and everything is there from `availableFrom`. `Unavailable`: something is missing and not on its way within the channel's horizon; the location cannot be chosen. `lines` tells which item decides it.

Show the full description

Call it when the buyer chooses a shipping method with `isPickup`, and again when the cart changes. The answer depends on the cart and is never cached, which is why it is a POST. An empty list means the channel has no pickup locations; a pickup method then works as before, without `pickupWarehouseId`.

Responses

200 EcomPickupLocation[]
Field Type Description
address1 string · nullable
address2 string · nullable
availability enum InStock AvailableFrom Unavailable
availableFrom string(date) · nullable
city string · nullable
country string · nullable
lines PickupLocationLine[] · nullable
name string · nullable
phone string · nullable
postalCode string · nullable
warehouseId string(uuid)
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 401 Errors

Examples

curl
curl -X POST "https://api.erp.fluit.cloud/ecom/checkout/pickup-locations" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Response 200
[
  {
    "address1": "string",
    "address2": "string",
    "availability": "InStock",
    "availableFrom": "2026-06-11",
    "city": "Stockholm",
    "country": "string",
    "lines": [
      {
        "availability": "InStock",
        "availableFrom": "2026-06-11",
        "itemId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
        "quantity": "10"
      }
    ],
    "name": "A-01-02",
    "phone": "+46 8 123 45 67",
    "postalCode": "11122",
    "warehouseId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44"
  }
]

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

POST /checkout/place

Place order

Completes checkout and creates a sales order from the shopping cart. Send an Idempotency-Key header and a retry after a timeout replays the original response instead of placing a second order, or answering that the cart is already converted.

Show the full description

The header is optional; without it the call behaves as it always has. Pickup: when the shipping method has `isPickup` and the channel has pickup locations, send `pickupWarehouseId` from `POST /ecom/checkout/pickup-locations` instead of a shipping address. The order is then placed on that location, which becomes its delivery address. A billing address is required when the buyer is a company or pays by invoice. Without `pickupWarehouseId` a pickup order behaves as before and is placed on the channel's default warehouse.

Requires Idempotency-Key

Body required

Field Type Description
backorderBehavior enum CreateBackorder CancelRemaining HoldOrder
billingAddress PlaceOrderBillingAddress
companyName string · nullable
createAccount boolean
customerReference string · nullable
discountCode string · nullable
email string · nullable
firstName string · nullable
giftCardCode string · nullable
lastName string · nullable
marketingConsent boolean
marketingConsentText string · nullable
orderNote string · nullable
orgNumber string · nullable
password string · nullable
paymentMethodId string(uuid)
phone string · nullable
pickupWarehouseId string(uuid) · nullable
requestedDeliveryDate string(date) · nullable
reviewInvitationOptOut boolean
saveAddress boolean
shippingAddressId string(uuid) · nullable
shippingCity string · nullable
shippingCountry string · nullable
shippingMethodId string(uuid)
shippingPostalCode string · nullable
shippingStreet1 string · nullable
shippingStreet2 string · nullable
taxReduction PlaceOrderTaxReduction Skattereduktion för arbete i hemmet: köparna med personnummer och andel, och bostaden. Bara när kanalen erbjuder avdraget och betalsättet är faktura.

Responses

201 PlaceEcomOrderResult
Field Type
orderId string(uuid)
orderNumber string · nullable
status string · nullable
422 ProblemDetails Unprocessable Content
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.
503 ProblemDetails Service Unavailable
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standard errors: 400 401 Errors

Examples

curl
curl -X POST "https://api.erp.fluit.cloud/ecom/checkout/place" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d @body.json
Response 201
{
  "orderId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
  "orderNumber": "SO-2026-1041",
  "status": "string"
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

POST /checkout/sessions

Create checkout session

Creates a checkout session at the channel's configured payment provider. Send an Idempotency-Key header and a retry after a timeout returns the original session instead of opening a second one at the provider. The header is optional.

Requires Idempotency-Key

Body required

Field Type
locale string · nullable

Responses

200 CreateCheckoutSessionResponse
Field Type Description
clientSecret string · nullable
htmlSnippet string · nullable
pricesUpdated boolean True when the cart was repriced before the session started and a price changed or a line was removed — an expired campaign, another quantity tier, an item no longer for sale. The cart is always charged at today's price for its quantity; tell the customer the amount differs from what they last saw.
provider string · nullable
publicKey string · nullable
redirectUrl string · nullable
renderMode string · nullable
sdkScriptUrl string · nullable The script to load the provider's SDK from, when it depends on the channel's settings (Nets: the test or live checkout.js, matching the environment the payment was created in). Null when the storefront decides it itself.
selectedShippingOptionId string · nullable
sessionId string(uuid)
shippingOptions CreateCheckoutSessionShippingOption[] · nullable
422 ProblemDetails Unprocessable Content
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.
503 ProblemDetails Service Unavailable
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standard errors: 400 401 403 Errors

Examples

curl
curl -X POST "https://api.erp.fluit.cloud/ecom/checkout/sessions" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d @body.json
Response 200
{
  "clientSecret": "string",
  "htmlSnippet": "string",
  "pricesUpdated": true,
  "provider": "string",
  "publicKey": "string",
  "redirectUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
  "renderMode": "string",
  "sdkScriptUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
  "selectedShippingOptionId": "string",
  "sessionId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
  "shippingOptions": [
    {
      "description": "string",
      "id": "string",
      "name": "Parcel, next day",
      "price": "299.00",
      "priceIncludingTax": "299.00"
    }
  ]
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

PATCH /checkout/sessions/{sessionId}

Update checkout session

Refreshes an existing checkout session at its payment provider when the cart has changed. For providers that return shippingOptions, send shippingOptionId to change the shipping the payment charges for.

Path parameters

Field Type
sessionId Required string(uuid)

Body

Field Type Description
shippingOptionId string · nullable The shipping option the customer picked in the storefront. Only for providers that return `shippingOptions`; omit it to keep the current choice.

Responses

200 UpdateCheckoutSessionResponse
Field Type
clientSecret string · nullable
htmlSnippet string · nullable
pricesUpdated boolean
provider string · nullable
publicKey string · nullable
redirectUrl string · nullable
renderMode string · nullable
sdkScriptUrl string · nullable
selectedShippingOptionId string · nullable
sessionId string(uuid)
shippingOptions CreateCheckoutSessionShippingOption[] · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 400 401 404 Errors

Examples

curl
curl -X PATCH "https://api.erp.fluit.cloud/ecom/checkout/sessions/{sessionId}" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Content-Type: application/json" \
  -d @body.json
Response 200
{
  "clientSecret": "string",
  "htmlSnippet": "string",
  "pricesUpdated": true,
  "provider": "string",
  "publicKey": "string",
  "redirectUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
  "renderMode": "string",
  "sdkScriptUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
  "selectedShippingOptionId": "string",
  "sessionId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
  "shippingOptions": [
    {
      "description": "string",
      "id": "string",
      "name": "Parcel, next day",
      "price": "299.00",
      "priceIncludingTax": "299.00"
    }
  ]
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

GET /checkout/sessions/{sessionId}/confirmation

Get checkout confirmation

Returns the payment provider's confirmation view, the resulting order number and the order's totals. The totals are null until the order exists; use them to report the purchase to your own analytics.

Path parameters

Field Type
sessionId Required string

Responses

200 GetCheckoutSessionConfirmationResponse
Field Type
currencyCode string · nullable
htmlSnippet string · nullable
orderNumber string · nullable
provider string · nullable
redirectUrl string · nullable
sessionId string(uuid)
status string · nullable
totalAmount decimal · nullable
totalAmountIncludingTax decimal · nullable
totalVat decimal · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 401 404 Errors

Examples

curl
curl "https://api.erp.fluit.cloud/ecom/checkout/sessions/{sessionId}/confirmation" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Response 200
{
  "currencyCode": "SEK",
  "htmlSnippet": "string",
  "orderNumber": "SO-2026-1041",
  "provider": "string",
  "redirectUrl": "https://cdn.fluit.cloud/assets/widget-a-front.jpg",
  "sessionId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
  "status": "string",
  "totalAmount": "299.00",
  "totalAmountIncludingTax": "299.00",
  "totalVat": "299.00"
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

PATCH /checkout/sessions/{sessionId}/review-invitation

Set the buyer's review invitation choice on a checkout session

For checkouts at a payment provider: the buyer's opt-out from the review invitation after delivery is stored on the session and carried to the order when payment completes. Only while the session is pending.

Path parameters

Field Type
sessionId Required string(uuid)

Body required

Field Type Description
optOut boolean Sant när köparen inte vill få en inbjudan att lämna omdöme.

Responses

204 Empty body.
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 400 401 404 Errors

Examples

curl
curl -X PATCH "https://api.erp.fluit.cloud/ecom/checkout/sessions/{sessionId}/review-invitation" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Content-Type: application/json" \
  -d @body.json

Base URL https://api.erp.fluit.cloud/ecom.

POST /checkout/shipping-prices

Calculate shipping prices

Calculates shipping prices for all enabled shipping methods based on destination country and cart weight using FreightPriceList.

Body required

Field Type
countryCode string · nullable

Responses

200 EcomShippingPrice[]
Field Type
price decimal · nullable
shippingMethodId string(uuid)
taxPercent decimal · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Standard errors: 401 Errors

Examples

curl
curl -X POST "https://api.erp.fluit.cloud/ecom/checkout/shipping-prices" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web" \
  -H "Content-Type: application/json" \
  -d @body.json
Response 200
[
  {
    "price": "299.00",
    "shippingMethodId": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
    "taxPercent": "12.50"
  }
]

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

POST /checkout/webhooks/{provider}

Payment provider webhook

Callback from a payment provider when a checkout completes. Creates the sales order. Idempotent.

Path parameters

Field Type
provider Required string

Responses

200 Empty body.
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.
503 Service Unavailable

Examples

curl
curl -X POST "https://api.erp.fluit.cloud/ecom/checkout/webhooks/{provider}" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"

Base URL https://api.erp.fluit.cloud/ecom.

GET /postal-codes/lookup

Verify a postal code and get its city

Status is NoRegister, Verified, CityMismatch, UnknownCode or InvalidFormat. Advisory only — never blocks an order from being placed.

Query parameters

Field Type
country Required string
code Required string
city string

Responses

200 LookupPostalCodePostalCodeLookupDto
Field Type
formattedCode string · nullable
matches LookupPostalCodePostalCodeMatchDto[] · nullable
normalizedCode string · nullable
status string · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Examples

curl
curl "https://api.erp.fluit.cloud/ecom/postal-codes/lookup" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Response 200
{
  "formattedCode": "STD",
  "matches": [
    {
      "city": "Stockholm",
      "code": "string",
      "county": "string",
      "formattedCode": "STD",
      "latitude": "299.00",
      "longitude": "299.00",
      "municipality": "string"
    }
  ],
  "normalizedCode": "STD",
  "status": "string"
}

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

GET /postal-codes/suggest

Prefix search on postal code or city

Terms shorter than two characters return an empty list.

Query parameters

Field Type
country Required string
q Required string
take integer

Responses

200 LookupPostalCodePostalCodeMatchDto[]
Field Type
city string · nullable
code string · nullable
county string · nullable
formattedCode string · nullable
latitude decimal · nullable
longitude decimal · nullable
municipality string · nullable
429 Rate limit exceeded. Wait the number of seconds given in Retry-After. The body is problem-shaped application/json, not application/problem+json. This API sends no X-RateLimit-* headers — the quota is discovered here.
  • Retry-After — Seconds to wait before retrying.

Examples

curl
curl "https://api.erp.fluit.cloud/ecom/postal-codes/suggest" \
  -H "X-Tenant-Id: $FLUIT_TENANT_ID" \
  -H "X-Channel: web"
Response 200
[
  {
    "city": "Stockholm",
    "code": "string",
    "county": "string",
    "formattedCode": "STD",
    "latitude": "299.00",
    "longitude": "299.00",
    "municipality": "string"
  }
]

Base URL https://api.erp.fluit.cloud/ecom. The response example is generated from the schema: the shape is right, the values are made up.

Schemas

The objects this group's calls refer to. The field tables above go one level deep and link here rather than repeating the same schema on every endpoint.

CheckoutCountry

CheckoutCountry
Field Type
code string · nullable
name string · nullable

CheckoutCustomerAddress

CheckoutCustomerAddress
Field Type
city string · nullable
country string · nullable
postalCode string · nullable
street1 string · nullable
street2 string · nullable

CheckoutCustomerData

CheckoutCustomerData
Field Type
companyName string · nullable
contactId string(uuid)
contactName string · nullable
customerId string(uuid)
customerType string · nullable
defaultAddress CheckoutCustomerAddress
defaultBackorderBehavior string · nullable
email string · nullable
firstName string · nullable
lastName string · nullable
name string · nullable
orgNumber string · nullable
phone string · nullable
savedAddresses CheckoutSavedAddress[] · nullable

CheckoutPaymentMethod

CheckoutPaymentMethod
Field Type
allowsTaxReduction boolean
description string · nullable
id string(uuid)
name string · nullable

CheckoutSavedAddress

CheckoutSavedAddress
Field Type
city string · nullable
contactPerson string · nullable
country string · nullable
id string(uuid)
isDefault boolean
name string · nullable
phone string · nullable
postalCode string · nullable
street1 string · nullable
street2 string · nullable

CheckoutSettings

CheckoutSettings
Field Type
allowBackorderChoice boolean
allowBackorders boolean
allowGuestCheckout boolean
allowRequestedDeliveryDate boolean
checkoutCustomerMode string · nullable
checkoutProvider string · nullable
requireLogin boolean
reviewPlatform string · nullable
termsPageSlug string · nullable

CheckoutShippingMethod

CheckoutShippingMethod
Field Type
description string · nullable
estimatedDelivery string · nullable
freeShippingThreshold decimal · nullable
id string(uuid)
isPickup boolean
name string · nullable
price decimal · nullable
taxPercent decimal · nullable
usesDynamicPricing boolean

CreateCheckoutSessionShippingOption

CreateCheckoutSessionShippingOption

A shipping option the storefront shows next to the provider's checkout. Only present when the provider's checkout has no shipping choice of its own (Nets).

Field Type
description string · nullable
id string · nullable
name string · nullable
price decimal
priceIncludingTax decimal

LookupPostalCodePostalCodeMatchDto

LookupPostalCodePostalCodeMatchDto
Field Type
city string · nullable
code string · nullable
county string · nullable
formattedCode string · nullable
latitude decimal · nullable
longitude decimal · nullable
municipality string · nullable

PickupLocationLine

EcomPickupLocationLine
Field Type Description
availability enum InStock AvailableFrom Unavailable
availableFrom string(date) · nullable
itemId string(uuid)
quantity decimal

PlaceOrderBillingAddress

PlaceOrderBillingAddressRequest
Field Type
city string · nullable
companyName string · nullable
country string · nullable
postalCode string · nullable
street1 string · nullable
street2 string · nullable

PlaceOrderTaxReduction

PlaceOrderTaxReductionRequest

Skattereduktion för arbete i hemmet: köparna med personnummer och andel, och bostaden. Bara när kanalen erbjuder avdraget och betalsättet är faktura.

Field Type Description
apartmentNumber string · nullable
buyers PlaceOrderTaxReductionBuyer[] · nullable
housingAssociationOrgNumber string · nullable
housingType enum Detached HousingCooperative OwnedApartment
propertyDesignation string · nullable

PlaceOrderTaxReductionBuyer

PlaceOrderTaxReductionBuyerRequest
Field Type Description
identityNumber string · nullable Personnummer, ÅÅÅÅMMDD-NNNN. Krypteras innan det sparas.
name string · nullable
sharePercent decimal Köparens andel av avdraget i procent.