To request for a physical or virtual card, you should submit a DAPI endpoint POST
/v1/api/cards/order. If the request is successfully submitted, you will receive orderId in the
response, which should be used in Order Status endpoint to retrieve card details once the card order request is
completed.
Card order scenarios with required parameters and applicable validations:
1. Base Private Card with New Client and New Agreement
OrderCard Base Private [1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
privateClient
required
object mandatory block for New Base Card
↳ id
absent
string should be absent (in order to create new Client)
↳ name, surname, mobilePhone
required
string mandatory parameters
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
optional
string Can be absent (in order to create new "card.cardAccount") / Can be filled with own value (in order to create new "card.cardAccount" with own id)
↳ currencies
required
array mandatory parameter
↳ holder
ignored
object parameters will be ignored (holder is a Private Client)
↳ deliveryAddress
required
object mandatory block (will be used in Client Agreement)
{"privateClient":{"name":"{{ name }}","surname":"{{ surname }}","mobilePhone":"{{ mobilePhone }}"},"card":{"productCode":"{{ productCode }}","currencies":["EUR"],"deliveryAddress":{"country":"{{ country }}","city":"{{ city }}","street":"{{ street }}"},"supplementary":"false"}}
Validations
CardOrder will be rejected if provided "card.productCode" is not registered;
CardOrder will be rejected if "privateClient.name" OR "privateClient.surname" is not provided;
2. Attached Private Card with New Agreement
OrderCard Base Private [1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
privateClient
required
object mandatory block for New Base Card
↳ id
required
string mandatory parameter, existing ID (in order to use existing Client data)
[other parameters]
Other parameters will be ignored
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
optional
string Can be absent (in order to create new "card.cardAccount") / Can be filled with own value (in order to create new "card.cardAccount" with own id)
↳ currencies
required
array mandatory parameter
↳ holder
ignored
object parameters will be ignored (holder is a Private Client)
↳ deliveryAddress
required
object mandatory block (will be used in Client Agreement)
{"privateClient":{"id":"{{ id }}"},"card":{"productCode":"{{ productCode }}","currencies":["EUR"],"deliveryAddress":{"country":"{{ country }}","city":"{{ city }}","street":"{{ street }}"},"supplementary":"false"}}
Validations
CardOrder will be rejected if provided "privateClient.id" not found;
CardOrder will be rejected if "privateClient.id" is not provided;
3. Attached Private Card with Existing Agreement
OrderCard Base Private [1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
privateClient
required
object mandatory block for New Base Card
↳ id
required
string mandatory parameter, existing ID (in order to use existing Client data)
[other parameters]
Other parameters will be ignored
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
required
string mandatory parameter, existing Account (in order to use existing Client Account)
↳ currencies
required
array mandatory parameter
↳ holder
ignored
object parameters will be ignored (holder is a Private Client)
{"privateClient":{"id":"{{ id }}"},"card":{"productCode":"{{ productCode }}","cardAccount":"{{ cardAccount }}","currencies":["EUR"],"supplementary":"false"}}
Validations
CardOrder will be rejected if provided "privateClient.id" not found;
CardOrder will be rejected if "privateClient.id" is not provided;
CardOrder will be rejected if provided "card.productCode" does not match the details of the existing agreement;
CardOrder will be rejected if provided "card.currency" does not match the details of the existing "card.cardAccount";
1. Base Business Card with New Client and New Agreement
OrderCard Base Business [1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
businessClient
required
object mandatory block for Business Card (Company data)
↳ registrationNumber
required
string mandatory parameter
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
optional
string Can be absent (in order to create new "card.cardAccount") / Can be filled with own value (in order to create new "card.cardAccount" with own id)
↳ currencies
required
array mandatory parameter
↳ holder
required
object mandatory block should contain Client data (Business Cardholder data)
↳ name, surname, mobilePhone
required
string mandatory parameters
↳ deliveryAddress
required
object mandatory block (will be used in Client Agreement)
{"businessClient":{"registrationNumber":"{{ registrationNumber }}"},"card":{"productCode":"{{ productCode }}","currencies":["EUR"],"holder":{"name":"{{ name }}","surname":"{{ surname }}","mobilePhone":"{{ mobilePhone }}"},"deliveryAddress":{"country":"{{ country }}","city":"{{ city }}","street":"{{ street }}"},"supplementary":"false"}}
Validations
CardOrder will be rejected if "businessClient.registrationNumber" is not provided in order;
CardOrder will be rejected if provided "card.productCode" is not registered;
2. Additional Business Card with New Client and New Agreement
OrderCard Base Business [1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
businessClient
required
object mandatory block for Business Card
↳ registrationNumber
required
string mandatory parameter, existing RegNum (in order to create Business Card within the same Company)
[other parameters]
other parameters should match if used
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
optional
string Can be absent (in order to create new "card.cardAccount") / Can be filled with own value (in order to create new "card.cardAccount" with own id)
↳ currencies
required
array mandatory parameter
↳ holder
required
object mandatory block should contain Client data (Business Cardholder data)
↳ name, surname, mobilePhone
required
string mandatory parameters
↳ deliveryAddress
required
object mandatory block (will be used in Client Agreement)
{"businessClient":{"registrationNumber":"{{ registrationNumber }}"},"card":{"productCode":"{{ productCode }}","currencies":["EUR"],"holder":{"name":"{{ name }}","surname":"{{ surname }}","mobilePhone":"{{ mobilePhone }}"},"deliveryAddress":{"country":"{{ country }}","city":"{{ city }}","street":"{{ street }}"},"supplementary":"false"}}
Validations
CardOrder will be rejected if "businessClient.registrationNumber" is not provided in order;
CardOrder will be rejected if provided "card.productCode" is not registered;
CardOrder will be rejected if provided business client details do not match existing business client;
3. Attached Business Card with New Agreement (existing business client and existing cardholder)
OrderCard Base Business [1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
businessClient
required
object mandatory block for Business Card
↳ registrationNumber
required
string mandatory parameter, existing RegNum (in order to create Business Card within the same Company)
[other parameters]
Other parameters will be ignored
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
optional
string Can be absent (in order to create new "card.cardAccount") / Can be filled with own value (in order to create new "card.cardAccount" with own id)
↳ currencies
required
array mandatory parameter
↳ holder
required
object mandatory block should contain Client data
↳ id
required
string mandatory parameter, existing Client ID (in order to use existing Business Cardholder data)
[other parameters]
Other parameters will be ignored
↳ deliveryAddress
required
object mandatory block (will be used in Client Agreement)
{"businessClient":{"registrationNumber":"{{ registrationNumber }}"},"card":{"productCode":"{{ productCode }}","currencies":["EUR"],"holder":{"id":"{{ id }}"},"deliveryAddress":{"country":"{{ country }}","city":"{{ city }}","street":"{{ street }}"},"supplementary":"false"}}
Validations
CardOrder will be rejected if provided "businessClient.registrationNumber" not found;
CardOrder will be rejected if provided "card.holder.id" not found;
CardOrder will be rejected if "businessClient.registrationNumber" is not provided in order;
CardOrder will be rejected if provided "card.productCode" is not registered;
CardOrder will be rejected if provided registration number does not match the registration number of original Business Client;
4. Attached Business Card with existing Agreement (existing business client and existing cardholder)
OrderCard Base Business [1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
businessClient
required
object mandatory block for Business Card
↳ registrationNumber
required
string mandatory parameter, existing RegNum (in order to create Business Card within the same Company)
[other parameters]
Other parameters will be ignored
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
required
string mandatory parameter, existing Account (in order to use existing Client Account)
↳ currencies
required
array mandatory parameter
↳ holder
required
object mandatory block should contain Client data
↳ id
required
string mandatory parameter, existing Client ID (in order to use existing Business Business Cardholder data)
{"businessClient":{"registrationNumber":"{{ registrationNumber }}"},"card":{"productCode":"{{ productCode }}","cardAccount":"{{ cardAccount }}","currencies":["EUR"],"holder":{"id":"{{ id }}"},"supplementary":"false"}}
Validations
CardOrder will be rejected if provided registration number, "card.holder.id" or CardAccount could not be found;
CardOrder will be rejected if provided "card.holder.id" does not own the same "businessClient.registrationNumber" as provided in "businessClient" part;
CardOrder will be rejected if provided "card.productCode" or "card.currency" does not match the product or currency of the found agreement;
Business Supplementary Cards
1. Supplementary Business Card with new Holder
OrderCard Supplementary Business[1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
businessClient
required
object mandatory block for Business Card
↳ registrationNumber
required
string mandatory parameter, existing ID (in order to create Business Card within the same Company)
[other parameters]
other parameters should match if used
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
required
string mandatory parameter, existing Account (in order to use existing Client Account)
↳ currencies
required
array mandatory parameter
↳ holder
required
object mandatory block should contain Client data (Business Cardholder data)
CardOrder will be rejected if provided "card.productCode" does not match the product of the found agreement;
CardOrder will be rejected if provided "card.currency" does not match the details of the existing card account;
CardOrder will be rejected if provided "businessClient.registrationNumber" or "card.cardAccount" could not be found;
CardOrder will be rejected if provided "businessClient.registrationNumber" or "card.cardAccount" do not match requested ones;
2. Supplementary Business Card with existing Holder
OrderCard Supplementary Business[1.3]
Request Body Schema (application/json)
externalId
optional
string optional parameter
businessClient
required
object mandatory block for Business Card
↳ registrationNumber
required
string mandatory parameter, existing RegNum (in order to create Business Card within the same Company) (Reg.num should match initial client, base Business Card owner and Supplementary Client owner)
[other parameters]
Other parameters will be ignored
card
required
object mandatory block
↳ productCode
required
string mandatory parameter
↳ cardAccount
required
string mandatory parameter, existing Account (in order to use existing Client Account) (Account should be used from another client, planned to be used as Supplementary card owner)
↳ currencies
required
array mandatory parameter
↳ holder
required
object mandatory block should contain Client data
↳ id
required
string mandatory parameter, existing Client ID (in order to use existing Business Cardholder data) (Holder.id should be used from initial client, base Card owner)
{"businessClient":{"registrationNumber":"{{ registrationNumber }}"},"card":{"productCode":"{{ productCode }}","cardAccount":"{{ cardAccount }}","currencies":["EUR"],"holder":{"id":"{{ id }}"},"supplementary":"true"}}
Validations
CardOrder will be rejected if provided "businessClient.registrationNumber" does not match the "businessClient.registrationNumber" assigned to the holder;
CardOrder will be rejected if provided "card.currency" does not match the details of the existing "card.cardAccount";
CardOrder will be rejected if provided "card.holder.id" or "card.cardAccount" could not be found;
CardOrder will be rejected if provided "card.cardAccount" do not match requested "card.holder.id";
Once you have created a new card order, you will be able to follow up on the order status via
GET /v1/api/orders. This request returns a list of your card orders. The card orders are sorted in descending
order by created date - the most recently created object appearing first. To receive a list of orders starting with a
particular order, provide either its id or external id number.
Order status values
Here is the list of orders status values and their description:
Registered – a card order is registered in the system and awaiting the launch of the manual card issue process
Processing – a card order is registered and is awaiting for manual processing
Duplicated found – a card order is registered but duplicate orders have been identified
External check failed – an external person validity check has failed
Completed – a card order is registered and completed
Rejected – a card order is registered but issuing has failed
If you want to order cards with identical parameters in bulk, you can use the
POST /v1/api/cards/order-gift-card endpoint. This request allows users to order up to 10,000 cards in a single
request. Cards will be created using Base Private Card with New Client and New Agreement scenario. To avoid additional
overload, please use this endpoint in conjunction with a webhook and refrain from using looped order status checks since
the completion of ordered cards in bulk can take some time.
This endpoint requires additional access rights.
The webhook notifies the Customer about completion of the gift card order processing to refrain the Customer from using
looped order status checks via API. The Customer should create an endpoint on their side that can process incoming
requests and send a 200 HTTP code in response. The web service should be ready to receive HTTP POST calls with a payload
in JSON format. If the web service uses basic authentication, the credentials should be provided to DECTA for
configuration. Each call represents a separate event message received. If the Customer’s designated URL is not available
or DECTA receives an HTTP error, then DECTA will continue to resend the webhook every 20 seconds for 24 hours.
We use only essential cookies for security and site functionality and
cookie-less analytics systems.
No tracking or marketing cookies are used. You can learn
more on that here.