What is REST?

Delivery Options uses a REST (REpresentational State Transfer) API, which means that, for CRUD (Create, Retrieve, Update and Delete) operations, it uses HTTPS (HyperText Transfer Protocol Secure).

The methods that can be used in REST APIs are POST (Create), GET (Retrieve), PUT (Update - Full), PATCH (Update - Partial), and DELETE. However, the Delivery Options API just uses the GET method as it only needs to retrieve information, not post any updates. For this reason, it is very safe to use.

The Delivery Options REST API is centred around the data resources used to return delivery options, and these resources are in JSON (JavaScript Object Notation) format.

Note

JSON is a convenient format to represent REST resources because it is human-readable, easily compressed, and supported by all modern programming languages. In addition, it is fairly easy to understand because it only has a few data types (String, Number, Boolean, Null, Object and Array).

The HTTPS protocol

Because REST APIs communicate using HTTPS, all Delivery Options API calls must incorporate the base URL:

https://dmo.metapack.com//dmoptions/find?

HTTPS uses TLS (Transport Layer Security) to encrypt request and response data, and so, in addition to HTTPS, Delivery Options requires TLS v1.1 or higher.

Requests and Responses

To call a REST API, you need to send a request to the server, incorporating all the information required to tell the server what you want it to do. This must include the following:

  • The relevant HTTPS method, or verb (in this case, GET).

  • The URL, ending in / find (as shown above).

  • The request, or query, parameters, inclusive of the API key.

Note

The combination of HTTPS method and URL is often referred to as an 'endpoint'.

When the server has finished performing the call, it sends a response back to you, letting you know whether or not the operation was successful (refer to What are the possible Server Responses?). In the event of a successful call, the response includes, in the Body section, the data (in this case, the delivery options) that you requested. The Headers section contains metadata about the response.