Developers

One endpoint to order. One webhook to confirm.

A deliberately small API surface — most teams integrate in under a week and never touch more than three endpoints.

Quickstart

Your first order in three lines

Authenticate with a bearer token, post an order, and read the codes from the response or the delivery webhook. Sandbox mirrors production exactly, with simulated fulfilment so you can test failure paths.

Bearer token auth, scoped per environment

SDKs for Node, Python, PHP and Java

Signed webhooks with automatic retries

curl -X POST https://api.digitaldistributionnetwork.net/v1/orders \
  -H "Authorization: Bearer $DDN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product_code": "DDN-GIFT-001",
    "denomination": 50,
    "currency": "USD",
    "quantity": 100,
    "reference": "campaign-q3-emea"
  }'

Core endpoints

The full reference, including error codes and rate limits, ships with your sandbox credentials.

DDN API core endpoints
MethodEndpointPurpose
GET/v1/catalogueList available products, denominations and stock.
POST/v1/ordersPlace an order for one or more codes.
GET/v1/orders/{id}Retrieve order status and fulfilled codes.
GET/v1/balanceCheck prepaid balance or available credit.
POST/v1/webhooksRegister a delivery-confirmation endpoint.

Delivery confirmation by webhook

Every order emits a signed event when fulfilment completes. Retries run with exponential backoff for 24 hours, and each payload carries your own reference so reconciliation stays on your side of the integration.

Median order-to-code time is 1.4 seconds at 99.98% uptime.

POST https://your-app.com/webhooks/ddn
{
  "event": "order.fulfilled",
  "order_id": "ord_9fJ2kQ",
  "reference": "campaign-q3-emea",
  "status": "fulfilled",
  "codes_issued": 100,
  "fulfilled_at": "2026-06-18T09:41:02Z"
}

Frequently asked questions

DDN is B2B only. Accounts are opened for registered businesses — banks, fintechs, loyalty platforms, HR and rewards providers, marketplaces and licensed resellers. We do not sell to individual consumers.

Still have questions?

Talk to our team