Options
All
  • Public
  • Public/Protected
  • All
Menu

Asynchronous API - Get It Done

Abstract

This documentation describes an asynchronous event based API for integrators with the Get It Done system.

Overview

From a high level perspective the API has 3 main components:

  • Synchronous REST API used only for authentication, configuration and file transfer and polling.
  • Event delivery component (via HTTP transport)
  • Command processing (via HTTP transport)

Overview Diagram

Transport

The main method of transport is JSON over HTTP. All endpoint return and accept JSON, webhook calls are made with JSON payloads.

Authentication

Authentication for the synchronous API uses standard JWT access token bearer mechanism. Webhooks event delivery the messages has the ability to add HMAC signature in the headers, created with a secret that the integrators can configure themselves. Messages that do not match the signature provided should be considered fraudulent and discarded.

Full description of the authentication endpoints at Authentication

Webhook configuration

Webhook configuration is used to configure an HTTP endpoint where an event will be delivered.

Webhook are configured via simple REST endpoint. Yоu can browse the OpenApi documentation for them at Webhook Rest.

Detailed description of the webhook configuration object can be found at Webhook Dto.

Event delivery

Any change on an order that is relevant to the external partner will trigger event delivery via webhook containing all the data relevant to the change.

Typically events delivered trough the lifecycle of an order look like this :

Flow

Detailed description of the event types and their fields can be found at Events

Polling is also supported, for more info see Polling

Commands

Updating the details on an order, is possible by sending a relevant command on the Commands endpoint.

Supported commands are all the subclasses of BaseCommand, sent as plain JSON payload.

Successful command execution results in event being delivered with the change. Notifications on failures is delivered via CommandErrorEvent.

OpenAPI

OpenAPI client is available here

Versioning

See Versioning

Changes

See Changelog

Generated using TypeDoc