API's
All authentication happens via HAAL, where either an API key is passed, or a user name and password. For server apps, API keys are preferred.
Here is the HAAL API documentation:
https://app.swaggerhub.com/apis/HURKIN/HAAL/1.0
Shipper has a basic REST API for a some functions:
https://app.swaggerhub.com/apis/HURKIN/ShipperXL/1.0
A typical flow is as follows:
User provides their email address to an app
System retrieves a list of shp databases they have access to: https://secure.hurkin.com/api/shp/user/instances?user=user@gmail.com
User provides their password.
System gets an authenticated session id:
The instance mnemonic chosen is part of the URL
Basic Authentication
The session information contains a session id, user info, roles, feature access, etc.
User wants to look up inventory for SKU t2
System calls the shipper service to get the data:
The base url comes from the setting SVCURL in the Session
The instance mnemonic and SKU are part of the URL
Bearer Authentication {base64 encoded SessionId}
Returns details inventory data for that SKU