Ambita KODE API

About

KODE stands for Kommunalt Ordresystem for Distribusjon av Eiendomsdata.

Subscribe to our email list to receive updates about our API here.

How to integrate

You want to start with setting up the authentication, go to the Authentication page.

Then you want to find the product you want to order, this is done by looking up the product list for a given municipality, see Products. You can also contact support if you are unsure about what product to order, support@ambita.com.

You also want to know the price of the product you want to order and in most cases the price will be available on the product, but in the case of ordering a product with custom order data like a map product the price can differ based on the order data, so you should get the price as described in Prices.

Next you want to create an order, this is described in Orders.

Then make sure you are handling push notifications correctly, see Push Messages.

When you have created the order, you should then wait for push messages. We recommend to put push messages on a queue and process them sequentially. What to do with the different statuses is described in Push Messages, but for UPDATE and FINISHED, there is a small difference to what should be done.

When you receive an UPDATE or FINISHED push message, you should follow this 3-step procedure:

  1. Use the orderId and get the order from our API described in Orders

  2. Loop through assets and do necessary actions, files can occur on both order level and order line level

    Example provided in JavaScript

    fetch('https://beta-api.ambita.com/kode/v1/orders/:orderId') .then(response => { response.orders.forEach(order => { if (order.assets.length > 0) { // loop through order assets and do necessary actions } order.orderLines.forEach(orderLine => { if (orderLine.assets.length > 0) { // loop through order line assets and do necessary actions } }); }); });
  3. Delete or save the file

    Response from https://beta-api.ambita.com/kode/v1/orders/:orderId

    { "id": 1234567, "status": "PROGRESS", ... "orders": [ { "id": 1234567, "supplierName": "Infoland Kommune - demo", "assets": [ ... ], ... "orderLines": [ { "id": 12345678, "assets": [ ... ]

    Take a look at the Delivered Files section, the id of the asset will be unique and should be stored in your system. Use this id as a reference to check if you have downloaded the asset before, this way you won’t end up with duplicates. You should also check the status of the asset and delete the file if it has status DELETED.

Distributor Messages

You should implement handling of these messages, see Distributor Messages for more info.