Filter customers that have any financial activity (invoices, direct debits)
Adfin API (1.0.0)
Adfin uses OAuth 2.0 access tokens to authenticate all API requests.
There are two contexts in which tokens are issued:
Biller Access Tokens — Generated via the Authorization Code flow when a biller connects their Adfin account. These tokens grant access to that biller's data (invoices, payment requests, customers, etc.).
Platform Access Tokens — Generated via the Client Credentials flow when a platform authenticates as itself rather than as one of its billers. A platform uses one to manage its own webhook subscriptions under
/api/apps/{clientId}/webhooks.
Filter customers that have signed their direct debit mandate after this date
Filter customers that have signed their direct debit mandate until this date
The status of the latest direct debit mandate
This flag determines whether the response should include the financial status of the customer's invoices and payments
The financial statuses of the payment situation of the customer
The start time after which the customer last updated time should be, including the start time.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers
- Production API Server URLhttps://api.adfin.com/api/customers
- Staging API Server URLhttps://api.staging.adfin.com/api/customers
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers?onlyCustomersWithActivity=true&searchText=string&ddMandateSignedStartTime=2019-08-24T14%3A15%3A22Z&ddMandateSignedEndTime=2019-08-24T14%3A15%3A22Z&ddMandateStatuses=CREATED&includeCustomerFinancialDetails=true&financialStatuses=DRAFT&lastUpdatedStartTime=2019-08-24T14%3A15%3A22Z&tagIds=string&customerIds=string&page=0&size=20&sort=creationTime%2CDESC' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "customers": [ { … } ], "page": { "page": 0, "size": 0, "totalPages": 0, "totalElements": 0, "numberOfElements": 0, "sort": "string" }, "pagination": { "page": 0, "size": 0, "totalPages": 0, "totalElements": 0, "numberOfElements": 0, "sort": "string" } }
The list of the addresses for the customer. Only 1 pe supported for now
The list of tracking item catalogue IDs associated with the customer.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers
- Production API Server URLhttps://api.adfin.com/api/customers
- Staging API Server URLhttps://api.staging.adfin.com/api/customers
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"id": "string",
"externalId": "string",
"name": "string",
"people": [
{
"id": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNo": "string",
"isPrimaryContact": true,
"isIncludedInCommunications": true,
"validForEmailCommunication": true,
"validForPhoneCommunication": true
}
],
"addresses": [
{
"id": "string",
"city": "string",
"postalCode": "string",
"country": "string",
"addressLine1": "string"
}
],
"externalData": {
"connectorType": "XERO",
"id": "string",
"name": "string"
},
"trackingItemIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"officeId": "da08ce10-cc2b-4a3d-a418-e10a176cc27a",
"collectionAgentId": "fe30a7f6-c47c-4051-9601-bd9dbc464447"
}'The request has succeeded and has resulted in one customer being updated.
References about this customer from external platforms Adfin integrates with, such as ID, etc.
The reason as a predefined code for why the customer is in a certain status
The tracking item catalogues associated with the customer.
{ "id": "string", "externalId": "string", "name": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "people": [ { … } ], "addresses": [ { … } ], "directDebitMandate": { "id": "string", "status": "CREATED", "statusReasonCode": "PENDING_DD_CAPABILITY", "statusReason": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "authorisationTime": "2019-08-24T14:15:22Z", "submissionTime": "2019-08-24T14:15:22Z", "url": "string", "bankAccountNumber": "string", "mandateContactId": "string", "distributionTime": "2019-08-24T14:15:22Z", "lastNotificationSentTime": "2019-08-24T14:15:22Z" }, "billerBankAccount": { "accountHolderAddress": { … }, "accountHolderName": "string", "bankAccount": { … }, "bankAddress": { … }, "currencyCode": "AED" }, "timezone": "string", "discount": { "percentage": 0, "period": 0 }, "externalData": [ { … } ], "tags": [ "string" ], "status": "ACTIVE", "statusReasonCode": "MERGED", "settings": { "paymentSettings": { … } }, "trackingItems": [ { … } ], "office": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "trackingItemId": "c7c7fc03-0b17-402e-aa79-1d532a6db210", "details": { … } }, "collectionAgentId": "fe30a7f6-c47c-4051-9601-bd9dbc464447" }
A list of people associated with the customer. Can include contacts, representatives, or stakeholders.
A list of addresses for the customer. Currently, only one address is supported.
The list of tracking item catalogue IDs associated with the customer.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers
- Production API Server URLhttps://api.adfin.com/api/customers
- Staging API Server URLhttps://api.staging.adfin.com/api/customers
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "John Doe",
"people": [
{
"name": "Jane Smith",
"email": "jane.smith@example.com"
}
],
"addresses": [
{
"line1": "2 Catherine Pl",
"city": "London",
"state": "NY",
"postCode": "SW1E 6HF"
}
],
"externalData": {
"connectorType": "XERO",
"id": "string",
"name": "string"
},
"trackingItemIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"officeId": "da08ce10-cc2b-4a3d-a418-e10a176cc27a",
"collectionAgentId": "fe30a7f6-c47c-4051-9601-bd9dbc464447"
}'The request has succeeded and has resulted in one customer being updated.
References about this customer from external platforms Adfin integrates with, such as ID, etc.
The reason as a predefined code for why the customer is in a certain status
The tracking item catalogues associated with the customer.
{ "id": "string", "externalId": "string", "name": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "people": [ { … } ], "addresses": [ { … } ], "directDebitMandate": { "id": "string", "status": "CREATED", "statusReasonCode": "PENDING_DD_CAPABILITY", "statusReason": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "authorisationTime": "2019-08-24T14:15:22Z", "submissionTime": "2019-08-24T14:15:22Z", "url": "string", "bankAccountNumber": "string", "mandateContactId": "string", "distributionTime": "2019-08-24T14:15:22Z", "lastNotificationSentTime": "2019-08-24T14:15:22Z" }, "billerBankAccount": { "accountHolderAddress": { … }, "accountHolderName": "string", "bankAccount": { … }, "bankAddress": { … }, "currencyCode": "AED" }, "timezone": "string", "discount": { "percentage": 0, "period": 0 }, "externalData": [ { … } ], "tags": [ "string" ], "status": "ACTIVE", "statusReasonCode": "MERGED", "settings": { "paymentSettings": { … } }, "trackingItems": [ { … } ], "office": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "trackingItemId": "c7c7fc03-0b17-402e-aa79-1d532a6db210", "details": { … } }, "collectionAgentId": "fe30a7f6-c47c-4051-9601-bd9dbc464447" }
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{id}
- Production API Server URLhttps://api.adfin.com/api/customers/{id}
- Staging API Server URLhttps://api.staging.adfin.com/api/customers/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{id}?idType=XERO&includeCustomerFinancialDetails=true' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'The customer with the specified ID.
References about this customer from external platforms Adfin integrates with, such as ID, etc.
The reason as a predefined code for why the customer is in a certain status
The tracking item catalogues associated with the customer.
{ "id": "string", "externalId": "string", "name": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "people": [ { … } ], "addresses": [ { … } ], "directDebitMandate": { "id": "string", "status": "CREATED", "statusReasonCode": "PENDING_DD_CAPABILITY", "statusReason": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "authorisationTime": "2019-08-24T14:15:22Z", "submissionTime": "2019-08-24T14:15:22Z", "url": "string", "bankAccountNumber": "string", "mandateContactId": "string", "distributionTime": "2019-08-24T14:15:22Z", "lastNotificationSentTime": "2019-08-24T14:15:22Z" }, "billerBankAccount": { "accountHolderAddress": { … }, "accountHolderName": "string", "bankAccount": { … }, "bankAddress": { … }, "currencyCode": "AED" }, "timezone": "string", "discount": { "percentage": 0, "period": 0 }, "externalData": [ { … } ], "tags": [ "string" ], "status": "ACTIVE", "statusReasonCode": "MERGED", "settings": { "paymentSettings": { … } }, "trackingItems": [ { … } ], "office": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "trackingItemId": "c7c7fc03-0b17-402e-aa79-1d532a6db210", "details": { … } }, "collectionAgentId": "fe30a7f6-c47c-4051-9601-bd9dbc464447" }
The list of the addresses for the customer. Only 1 pe supported for now
The list of tracking item catalogue IDs associated with the customer.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{id}
- Production API Server URLhttps://api.adfin.com/api/customers/{id}
- Staging API Server URLhttps://api.staging.adfin.com/api/customers/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"externalId": "string",
"name": "string",
"people": [
{
"id": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNo": "string",
"isPrimaryContact": true,
"isIncludedInCommunications": true,
"validForEmailCommunication": true,
"validForPhoneCommunication": true
}
],
"addresses": [
{
"id": "string",
"city": "string",
"postalCode": "string",
"country": "string",
"addressLine1": "string"
}
],
"externalData": {
"connectorType": "XERO",
"id": "string",
"name": "string"
},
"trackingItemIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"officeId": "da08ce10-cc2b-4a3d-a418-e10a176cc27a",
"collectionAgentId": "fe30a7f6-c47c-4051-9601-bd9dbc464447"
}'The request has succeeded and has resulted in one customer being updated.
References about this customer from external platforms Adfin integrates with, such as ID, etc.
The reason as a predefined code for why the customer is in a certain status
The tracking item catalogues associated with the customer.
{ "id": "string", "externalId": "string", "name": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "people": [ { … } ], "addresses": [ { … } ], "directDebitMandate": { "id": "string", "status": "CREATED", "statusReasonCode": "PENDING_DD_CAPABILITY", "statusReason": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "authorisationTime": "2019-08-24T14:15:22Z", "submissionTime": "2019-08-24T14:15:22Z", "url": "string", "bankAccountNumber": "string", "mandateContactId": "string", "distributionTime": "2019-08-24T14:15:22Z", "lastNotificationSentTime": "2019-08-24T14:15:22Z" }, "billerBankAccount": { "accountHolderAddress": { … }, "accountHolderName": "string", "bankAccount": { … }, "bankAddress": { … }, "currencyCode": "AED" }, "timezone": "string", "discount": { "percentage": 0, "period": 0 }, "externalData": [ { … } ], "tags": [ "string" ], "status": "ACTIVE", "statusReasonCode": "MERGED", "settings": { "paymentSettings": { … } }, "trackingItems": [ { … } ], "office": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "trackingItemId": "c7c7fc03-0b17-402e-aa79-1d532a6db210", "details": { … } }, "collectionAgentId": "fe30a7f6-c47c-4051-9601-bd9dbc464447" }
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{customerId}:resume_collection
- Production API Server URLhttps://api.adfin.com/api/customers/{customerId}:resume_collection
- Staging API Server URLhttps://api.staging.adfin.com/api/customers/{customerId}:resume_collection
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{customerId}:resume_collection' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"collectionMethods": [
"AUTO_COLLECT"
]
}'Request
Stops collection from the customer by the named methods. Payment requests already raised for the customer are not collected by those methods until collection is resumed. Methods that are not named keep collecting, and a method that is already paused stays as it is.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{customerId}:pause_collection
- Production API Server URLhttps://api.adfin.com/api/customers/{customerId}:pause_collection
- Staging API Server URLhttps://api.staging.adfin.com/api/customers/{customerId}:pause_collection
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{customerId}:pause_collection' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"collectionMethods": [
"AUTO_COLLECT"
]
}'- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/payment_settings
- Production API Server URLhttps://api.adfin.com/api/customers/payment_settings
- Staging API Server URLhttps://api.staging.adfin.com/api/customers/payment_settings
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/payment_settings \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"customerIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"paymentSettings": {
"allowPartialPayments": true,
"minPartialPaymentAmount": 0,
"surchargeIsEnabled": true,
"lateFeesIsEnabled": true
}
}'{ "allowPartialPayments": true, "minPartialPaymentAmount": 0, "surchargeIsEnabled": true, "lateFeesIsEnabled": true }
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{id}/payment_settings
- Production API Server URLhttps://api.adfin.com/api/customers/{id}/payment_settings
- Staging API Server URLhttps://api.staging.adfin.com/api/customers/{id}/payment_settings
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{id}/payment_settings' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "allowPartialPayments": true, "minPartialPaymentAmount": 0, "surchargeIsEnabled": true, "lateFeesIsEnabled": true }