DI Plan & Go - Integration

API Documentation
Check out all details in our https://api.planandgo.di.no/swagger-ui.html

Login
Plan & Go API has it’s own login endpoint, see https://api.planandgo.di.no/swagger-ui.html#/login

Introduction

For integration purposes there are some APIs that are useful to import data into Plan & Go and also to be able to export.

Security / authentication

For each session, first get authenticated with /login/v-1, then use the received token in the header for all the other calls. Like this:

# Example 1) Posting JSON (when logged in, we send the token in the header) curl https://api.planandgo.di.no/external/plan/v-1/create \ -H "Content-Type:application/json" \ -H "X-Auth-Token:olof:5f9a3609a5a295eff861d930a0c75bbee7991842" \ -d "{ \ \"companyId\": 1, \ \"distrDate\": \"2015-12-04\", \ \"distrNo\": 0, \"name\": \"Utkjoring uke 9\" \ }" # Example 2) posting FILE (when logged in, we send the token in the header) curl https://api.planandgo.di.no/external/plan/v-1/importOrderFile/1234/5678 \ -H "Content-Type: multipart/form-data" \ -H "X-Auth-Token: olof:5f9a3609a5a295eff861d930a0c75bbee7991842" \ -F file=@my_import_file_in_this_dir.csv

Environment

  • PROD: https://api.planandgo.di.no

Parameters you need

  • companyId

  • customerSystemId

  • API-credentials (contact info@di.no to get access)

Most notable controllers

Usage

When the deliveries are ready on your end

  • (Generate a token for the session)

  • Repeat these steps for each transport company

    • Create an empty routeplan, to get a fresh routePlanId (do this for each area that has it's own starting point)

    • Generate a file (using our file-spec) and post it. Remember to fill out ORDER_ID (used as key when exporting optimized plans)

When the plan is optimized and published (at a agreed time)

  • (Generate a token for the session)

  • Fetch the orders and extract the routename, estimater time etc from there (for a given customerSystem and distribution-date)

When the plan has been effectuated / performed

  • (Generate a token for the session)

  • Fetch the orders and extract the needed data (info about each order)

When a customer wants to be deleted from your system (GDPR)

  • Assumes that you have a full history of the customer's orderIds

  • Generate a token for the session

  • Call "purgeOrders" given all the customer's orders (for a given customerSystem)