Quick Start Guide

Sandbox access

Contact your Conferma representative in the first instance to request access to the API.

Once registered, you'll get credentials and access to the sandbox environment where you can explore the capabilities of the Conferma API.

Card pools

All virtual cards issued by the Conferma API are associated to a 'card pool'. A card pool is the account that is mapped to the funding or settlement account on the card issuing platform.

You may require multiple card pools, perhaps where multiple currencies or card products are in use. Each card pool can be identified with a unique Client ID.

Several endpoints on the Conferma API will require the Client ID to be provided to identify the desired card pool.

📘

Client Account Codes

The Conferma API also supports user defined Client Account Codes (CAC). These must be managed in the Conferma Setup UI, and will allow you to use your own identifier for each card pool.

The JSON-formatted code sample below shows how a card pool is identified using a CLIENTID when requesting a virtual card.

"clientAccountCode": {
	"type": "CLIENTID",
	"value": "1234"
}

Get access token

The Conferma API enforces HTTP Bearer Authentication on incoming requests.

See Authentication for details on how to obtain and manage Access Tokens

Sample cURLs

Create Card

Applications must submit pre-purchase data to receive a virtual card.

Each virtual card issuance is named a ‘Deployment’ and is identified with a unique DeploymentID.

Each item in a purchase should be assigned a virtual card (e.g. 1x air ticket and 1x hotel stay requires two virtual cards).

The below code shows an example implementation of Create Card using the /deployments endpoint.

curl --request POST \
     --url https://api.cert-confermapay.com/deployments/v1/deployments \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer *access_token*' \
     --data '
     {
       "clientAccountCode": {
            "type": "CLIENTID",
            "value": "1234"
       },
       "deploymentAmount": {
            "value": 150,
            "currency": "GBP"
       },
       "paymentRange": {
            "startDate": "2022-05-13",
            "endDate": "2022-05-16"
       }, 
       "supplier": {
            "name": "My Supplier"
       },
       "spendType": "Generic",
       "supplierReference": "INV1234"
			}'

Update Deployment

You should manage each deployment in line with your purchase. If a modification is made e.g. booking travel dates, cost, or status changes, you must update the deployment data.

You should also update the deployment to supply any additional reference or confirmation numbers that have been provided by your supplier after successfully charging the card e.g. when a booking confirmation reference is given.

The below code shows an example implementation of Update Deployment using the /deployments endpoint.

curl --request POST \
     --url https://api.cert-confermapay.com/deployments/v1/deployments/{deploymentId} \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer *access_token*' \
     --data '
     {
       "deploymentAmount": {
            "value": 200,
            "currency": "GBP"
       },
       "paymentRange": {
            "startDate": "2022-05-13",
            "endDate": "2022-05-16"
       }, 
       "supplier": {
            "name": "My Supplier"
       },
       "spendType": "Generic",
       "supplierReference": "INV1234"
			}'

Cancel Deployment

A deployment should be cancelled when it is no longer required and there is no expectation of spend taking place on the virtual card.

The below code shows an example implementation of Cancel Deployment using the /deployments endpoint.

curl --request POST \
     --url https://api.cert-confermapay.com/deployments/v1/deployments/{deploymentId}/cancel \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer *access_token*' \