GSS Freight API
Freight API provides programmatic access to GSS functionality and content.
- You need a GSS access token
- Familiarize yourself with API functionality
- Hack away
Things you should know
- Ensure you calls to the api are capable of handling errors and downtime
- Fields may be added to the endpoints are any time, ensure you conversions are capable of handling this
- Fields names are not case sensitive
- If your system has more then one company utilising it, it is strongly recommended that you do not hardcode the access key and the api url
- This api was fully refresh on 18 Apr 2016. If you implementation was done prior to that, we suggest you update your implementation. The old version docs can be found here.
SOME COMMON USE CASES
You have a custom bespoke e-commerce or orders platform
Your site does not allow external systems to feed information into it directly.
Your approach will be to publish orders to GSS once the orders are ready for dispatch/labelling. On the GSS system your user would process the order.
At some stage your system will request the order status update from GSS.
The api interactions would be:
PUTapi/customerorders - triggered from your site when order is ready for ticketting
Using the GSS web portal, your dispatcher tickets the goods.
GETapi/customerorders - triggered by your system every 6 hours, to get status update on the order published earlier.
You have a very specialised dispatch workflow
You might have a special requirement to integrate the ticketing directly into your existing system. Using a external system to do one part of the workflow may affect performance and may not be acceptable. You can use the GSS api to build the ticketing into your system.
The api interactions would be:
POSTapi/rates - your system at dispatch, calls the api to get all available freight options and rates
POSTapi/shipments - the dispatcher reviews the freight options from (1) and makes a selection. A second call to generate the shipment is triggered.
You use an open source platform
A lot of open source systems, also have a open API platform that GSS is able to tap into to build the integration directly from within GSS. We would consider any platform that our customers are using. However depending on platform popularity the implementation time frames would be considered. In the case that there are very few users on the platform, it may not be a sufficient business case for us to undertake the integration.
Surely there will be other cases that the api can be applied to. Talk to us, and we will be able to help.
Using this endpoint, you can publish from your ERP or orders system, into the GSS orders queue. Once published, your operators on GSS will be able to search/scan/click on the order number, to automatically populate the order delivery details. This saves time entering the delivery details.
GETapi/customerorders Retreives the list of orders already published to GSS. This can be filtered on multiple criteria.
PUTapi/customerorders Publish into the GSS queue your orders.
Price Enquiry / Rates Query
POSTapi/rates Returns your available rates for the origin to destination specified.
GETapi/shipments Retreives all your historically created shipments, including current status details.
POSTapi/shipments Create a new shipment using a rate or with auto rating. Printing can be automatically triggered as well.
DELETEapi/shipments Deletes the specified shipment.
POSTv2/publishmanifest Batch and manifest your current shipments ready for collection. Available on certain carriers only.
GET/api/printers returns a list of available printers
GET/api/labels download the labels as png or pdf
POST/api/labels enqueues the supplied shipment for printing
POST/api/labels/enqueue enqueues a raw image into the print queue for printing
POST/api/pickupbooking book a driver to collect your parcels.
GSS is able to provide feedback to your site using webhooks for certain action triggers. Actions that can be subscibed to include:
Shipment pickup registered by courier
Shipment delivery registered by courier
Tracing Your Calls
We allow you to view your most recent api calls to us. To view use https://ship.gosweetspot.com/developer/apitrace This is provided to help you develop/debug your code.
How do I connect to the API?
The API is only available to authenticated clients. Clients should authenticate users using [access_key]. Once authenticated, you need to request a resource from one of the endpoints using HTTP. Generally, reading any data is done through a request with GET method.
What return formats do you support?
Freight API currently returns data in JSON format. Some methods may return [XML] data, however we don't actively test for XML compatibility.
What kind of authentication is required?
Applications must identify themselves to access any resource. You need to contact your account manager to obtain a test access key. Every request requires a http header property ACCESS_KEY, as well as SUPPORT_EMAIL. The Support Email should contain the IT Level contact for the organisation. This will be used to contacting you, should we find your requests need attention.
Is there a request rate limit?
Presently there is no rate limiting on the api. We however reserve the right to enforce limits or block calls at our discretion. We request that you limit your requests to 60 calls per minute. If you expect to call at a higher rates, please contact us.
We try to make every effort to ensure all our functions are backwards compatible. However as our system evolves, we cannot guarrantee that we will be able to support all old/deprecated functions forever. If you implementation breaks due to a change on our system, it will be your responsibility to update the functionality on your system.
Should I crack on?
Sure, fire away, however, we do suggest you talk to us, prior to starting so we can understand your requirements and explain how best to use this api.