Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Card order tracking

D1 sends real-time production and shipment updates for physical cards to your issuer backend.

Use notifications (webhooks), on-demand status, or both.

High-level flow

High-level flow of physical card production and shipment events.

Status transitions

This diagram shows typical transitions from request to shipment.

It also includes exception and on-hold paths.

Status transitions including exceptions and on-hold states.
More diagrams
Operational view of issuance steps and state changes.
Sequence diagram for notifications and status changes during physical card issuance.

How it works

Use one or both approaches.

Required APIs

API
Inbound/Outbound
Description

Issuer <- Thales D1

Receive notifications for the PRODUCE operation.

API content

Notifications and on-demand responses use the same operation object.

They can include:

Field
Description
Presence

operationId

Unique identifier for the operation instance. Use it for de-duplication and correlation.

Required

operation

Operation type. Always PRODUCE for physical card issuance tracking.

Required

status

Operation status: PENDING, SUCCESSFUL, or FAILED.

Required

startTime

ISO 8601 timestamp when the operation started.

Required

endTime

ISO 8601 timestamp when the operation completed.

Conditional

cardId

Internal card identifier in D1.

Required

details

Issuance-specific payload.

See Track production and Track shipment.

Required

errorCode

Machine-readable failure cause.

Conditional

error

Short human-readable failure description.

Conditional

inputFileName

File name containing card issuance requests.

Conditional

issuerRequestId

Correlation identifier provided by your issuer backend.

Conditional

Top-level status is the operation status.

details.status is the physical card issuance status.

Delivery and idempotency

Notifications can arrive out of order, and more than once.

  • Use operationId to de-duplicate and correlate events.

  • Use startTime/endTime to decide which event is the latest.

  • Use the on-demand API to reconcile state if you detect gaps.

Last updated

Was this helpful?