Adapter Development with Gateway API

Build a standalone channel adapter in any language using the Adapter Gateway REST API.

The Adapter Gateway exposes a REST API under /external/* that lets you build a channel adapter without the Adapter SDK: no Java requirement, no access to PDX infrastructure, no private Maven repository. Your adapter is a standalone service (or even a scheduled job) that talks HTTPS to the gateway.

The base URL follows the pattern:

https://{pdx-environment}/api/v1/adapter-gateway

For example, https://pdx-preprod.stibosystems.com/api/v1/adapter-gateway. All endpoints in this guide are relative to that base URL. The full endpoint reference is available in the Adapter Gateway API reference.

How a Gateway API adapter works

The adapter lifecycle is a loop:

  1. Register your channel and its datastandard — POST /external/channels and POST /external/channels/{channelId}/datastandard. Registration is idempotent per version: check the current datastandard version first and only push when it changed.
  2. Poll for eventsGET /external/events. Events tell you when a PDX user connects an account to your channel (authenticationEvent), submits products (submitEvent), or deletes the channel connection (clientChannelDeletedEvent).
  3. Process the event — for a submission: fetch the submitted products, transform them into the target system's format, and deliver them.
  4. Report backPOST /external/submit/status and POST /external/submit/items for submissions, POST /external/authentication for authentication results.
  5. Continue polling — events returned by a poll are acknowledged automatically by default (see Polling for Events).

The End-to-End Walkthrough shows the full loop with example requests.

Endpoint overview

AreaEndpoints
Channel registrationPOST /external/channels, GET /external/channels/{channelId}
DatastandardPOST /external/channels/{channelId}/datastandard, GET /external/channels/{channelId}/datastandard, GET/POST /external/channels/{channelId}/generatorInfo, POST /external/channels/{channelId}/businessRuleVersion
EventsGET /external/events, PUT /external/events/{eventId}
AuthenticationPOST /external/authentication
Submission dataGET /external/submission/{submissionId}, GET /external/submission/{submissionId}/familyIds, GET /external/submissions/{submissionId}/families/{familyId}/ids, POST /external/submission/{submissionId}/products, POST /external/submission/{submissionId}/products/channel
Packaging hierarchiesGET /external/submissions/{submissionId}/packagingHierarchies
ReceiversGET /external/channels/receivers/clients/{clientId}/channels/{channelId}
Status reportingPOST /external/submit/status, POST /external/submit/items

Capabilities

The Gateway API covers the full adapter lifecycle: channel and datastandard registration, the authentication flow, submission processing (regular, family-based, and packaging-based), receiver-aware channels, and status reporting per submission and per item. It is the same API the Adapter SDK uses — see Adaptor Implementation for how the two approaches compare.

In this section


Did this page help you?