The Jakamo Purchase order API is an XML based API over HTTPS/REST.
With the Jakamo purchase
order API it is possible to bring purchase order data from ERP-systems to Jakamo.
This document is intended to help building Jakamo connectors for ERP-systems.
The Jakamo purchase order API uses it's own internal authentication system. Authentication tokens must be generated in
Jakamo specifically for this purpose. Authentication methods described earlier in this document do not apply
to purchase order integrations.
Preparations can be done in minutes by following these steps:
The purchase order API requires a base64 hashed token to be sent in the HTTP request headers. The username and the password must be added to the Jakamo integrations page. You must generate a base64 hash from the username and the password (eg. running the following command in a *nix terminal: echo -n 'username:password' | base64).
Key | Value |
Content-Type | application/xml |
Authorization | basic [token_here] |
This is used for sending purchase order data that is being pushed from ERP to the endpoint. This is an absolute minimal
set of XML-data that can be sent to Jakamo. Simply authenticate and post the purchase order xml-data to endpoint.
The technical structure and explanations can be found here
This is used for sending revised purchase order data to Jakamo. This is used when it is necessary correct an
error in the purchase order data.
This can be also used if the supplier confirms an order with different order information (quantity, price etc.) and
the supplier must "approve" the confirmed amount with the revised purchase order.
There are two main differences to purchase order data.
1) Use HTTP PUT https://www.thejakamo.com/api/order/[order id] to update information (instead of POST)
2) Change Order root element to OrderChange.
An order can be cancelled using status messages. A status message is sent from the ERP to Jakamo to set the status for
a specific order.
NOTE: An order can be revised by sending a purchase order with new data to this endpoint.
An order can be marked as received when goods arrive to the buyer. This is also a status message that is sent from the ERP to Jakamo.
Jakamo stores all outgoing messages in a queue. By making a HTTP GET request to the response endpoint
Jakamo delivers the first message in the queue. Generally speaking messages can be status messages or order
confirmations that the supplier has made in Jakamo.
Messages in the response queue must be cleared after they have been processed. The response message contains
an X-Acknowledge-Uri header. Posting to this URI removes the message from the queue.
The supplier must confirm an order to let the buyer know that they can deliver what is been ordered. Once the supplier has confirmed the order in Jakamo, it can be retrieved via the API. The order confirmation structure follows the UBL schema. Full documentation of the UBL response message structures and descriptions can be found here
When an order is completed and delivered by the supplier, they set the delivered status for the order or certain
order rows in Jakamo. This information can be accessed by the buyer via the API.
If there are delivered -status messages, they will show up in Jakamo response queue.