Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The API provides endpoints which allow to programmatically create and edit shops.

[ Setup ] [ Environments / endpoints ] [ Authentication ] [ Making a request ] [ Path Parameters ] [ Query Parameters ] [ Response ] [ Examples Create shop ] [ Update shop ] [ Error handling ] [ Error response ]

Setup

Make sure you have the following information at hand before proceeding.

...

Name

Mandatory

Example

Description

ownerPartyKey

(tick)

owner-party-name

Unique owner party identifier in DI database

shop

(tick)

Shop object which will be persisted

customerSystem

(tick)

Data to create a new customer system connected to the new shop

transportSolutionIds

(tick)

[1, 2, 3]

Collection of already existing transport solutions to be connected to the new shop; can’t be empty

Shop

Name

Mandatory

Example

Description

id

⚠️

Must be empty when creating a new shop

organizationNumber

123 456 789

Applicable based on the regional regulations

email

(tick)

email@test.com

address

(tick)

Warehouse’s address

legalName

Company AS

Shop’s legal name

delivererEDI

EDI software used

vatLiable

true

Whether shop is vat liable; will be set to false if not sent

webShopPlatform

Egen

Ecommerce platform

ceo

John Doe

Shop’s CEO

customerManager

John Doe

Shop’s customer manager

contactPersonPhone

58692698

Phone number of a contact person

externalCustomerIds

[{“freightProductId”: 1, “customerNumber”: 1}]

Unique combination of customer number and freight product id

...

Name

Mandatory

Example

Description

name

(tick)

shortName

(tick)

Must be unique; max. 5 characters

customerFacingName

addressCollector

...

Curl request example
Code Block

Response

Examples

curl --location 'https://staging-ws.di.no/ws/json/shop/v-1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer TOKEN' \
--data-raw '{
    "ownerPartyKey": "ownerPartyKey",
    "shop": {
        "organizationNumber": "543 123 345",
        "email": "email@email.com",
        "address": {
            "street": "Street gata",
            "streetNumber": 5,
            "zipCode": 55555,
            "city": "The City",
            "countryCode": "NO"
        },
        "legalName": "Legal Name2",
        "shortName": "sn1",
        "delivererEDI": "delivererEDI",
        "vatLiable": false,
        "webShopPlatform": "web shop platform",
        "ceo": "Ceo Ceo",
        "customerManager": "Kristine",
        "externalCustomerIds": [{
            "freightProductId": 1,
            "customerNumber": 3799475
        }]
    },
    "customerSystem": {
        "name": " customer system",
        "shortName": "abcd"
    },
    "transportSolutionsIds": [1]
}'
Expand
titleExample response 1
Code Block

Response

Returns a newly created shop object. “requiredSetupComplete” field confirms that your shop is ready to be used.

Update shop

TEST

Status
colourYellow
titlePatch

https://staging-ws.di.no/ws/json/shop/v-1/{shopId}

PRODUCTION

Status
colourYellow
titlePatch

https://ws.di.no/ws/json/shop/v-1/{shopId}

...

key

value example

comment

Authorization

Bearer "SECRET_WS_TOKEN"

See authentication on how to obtain a token

Curl request example

...

Response

Examples

...

titleExample response 1

...

Request Body

Name

Mandatory

Example

Description

patch

(tick)

Code Block
[
    {
        "op":"replace",
        "path":"/customerHandler",
        "value":"New Customer Handler"
    },
    {
        "op":"add",
        "path":"/customerNumbers/3",
        "value":{
          "shopId":1,
          "customerNumber":"12345",
          "freightProductId":2}
    }
]

JsonPatch object describing changes which are supposed to be made to the shop. Please refer to JsonPatch documentation for further information.

Curl request example
Code Block
curl --location --request PATCH 'https://staging-ws.di.no/ws/json/shop/v-1/1957' \
--header 'OwnerParty-Id: 1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer TOKEN' \
--data '[
    {
        "op":"replace",
        "path":"/customerHandler",
        "value":"New Customer Handler"
    },
    {
        "op":"add",
        "path":"/customerNumbers/1",
        "value":{
            "shopId":1,
            "customerNumber":"12345",
            "freightProductId":2
        }
    }
]'

Response

Returns updated shop object.

Error handling

API requests that result in errors will return an appropriate HTTP status code to help you identify the type of error. You can use the table below to understand what each code means. og search online with the HTTP status code. The HTTP error keys used are based on the standard, and therefore available online (Tips to search “HTTP code XXX”)

...