You can use the APIs below to interface with Xendit's CustomerApi.
To start using the API, you need to configure the secret key and initiate the client instance.
import time
import xendit
from xendit.apis import CustomerApi
# See configuration.py for a list of all supported configuration parameters.
xendit.set_api_key('XENDIT API KEY')
# Enter a context with an instance of the API client
api_client = xendit.ApiClient()
# Create an instance of the API class
api_instance = CustomerApi(api_client)All URIs are relative to https://api.xendit.co
| Method | HTTP request | Description |
|---|---|---|
| create_customer | POST /customers | Create Customer |
| get_customer | GET /customers/{id} | Get Customer By ID |
| get_customer_by_reference_id | GET /customers | GET customers by reference id |
| update_customer | PATCH /customers/{id} | Update End Customer Resource |
Customer create_customer()
Create Customer
| Name | Value |
|---|---|
| Function Name | create_customer |
| Request Parameters | CreateCustomerRequestParams |
| Return Type | Customer |
| Name | Type | Required | Default |
|---|---|---|---|
| idempotency_key | str | ||
| for_user_id | str | ||
| customer_request | CustomerRequest |
import time
import xendit
from xendit.apis import CustomerApi
from xendit.customer.model.customer import Customer
from xendit.customer.model.customer_request import CustomerRequest
from xendit.customer.model.create_customer400_response import CreateCustomer400Response
from xendit.customer.model.error import Error
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
xendit.set_api_key('XENDIT API KEY')
# Enter a context with an instance of the API client
api_client = xendit.ApiClient()
# Create an instance of the API class
api_instance = CustomerApi(api_client)
idempotency_key = "idempotency-123" # str | A unique key to prevent processing duplicate requests.
for_user_id = "user-1" # str | The sub-account user-id that you want to make this transaction for.
customer_request = CustomerRequest(
client_name="AirAsia Indonesia",
reference_id="reference_id_example",
type="INDIVIDUAL",
individual_detail=IndividualDetail(
given_names="given_names_example",
given_names_non_roman="given_names_non_roman_example",
middle_name="middle_name_example",
surname="surname_example",
surname_non_roman="surname_non_roman_example",
mother_maiden_name="mother_maiden_name_example",
gender="MALE",
date_of_birth="2017-07-21",
nationality=CountryCode("ID"),
place_of_birth="place_of_birth_example",
employment=EmploymentDetail(
employer_name="employer_name_example",
nature_of_business="nature_of_business_example",
role_description="role_description_example",
),
),
business_detail=BusinessDetail(
business_name="business_name_example",
business_type="CORPORATION",
date_of_registration="2017-07-21",
nature_of_business="nature_of_business_example",
business_domicile=CountryCode("ID"),
),
description="description_example",
email="info@xendit.co",
mobile_number="+6281295412345",
phone_number="+6281295412345",
addresses=[
AddressRequest(
category="category_example",
country_code=CountryCode("ID"),
province_state="province_state_example",
city="city_example",
suburb="suburb_example",
postal_code="postal_code_example",
line_1="line_1_example",
line_2="line_2_example",
status=AddressStatus("ACTIVE"),
is_primary=False,
),
],
identity_accounts=[
IdentityAccountRequest(
type=IdentityAccountType("BANK_ACCOUNT"),
company="company_example",
description="description_example",
country=CountryCode("ID"),
properties=IdentityAccountRequestProperties(None),
),
],
kyc_documents=[
KYCDocumentRequest(
country=CountryCode("ID"),
type=KYCDocumentType("BIRTH_CERTIFICATE"),
sub_type=KYCDocumentSubType("NATIONAL_ID"),
document_name="KTP",
document_number="AA123467890",
expires_at="2017-07-21",
holder_name="John Doe",
document_images=[
"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwc=",
],
),
],
metadata={},
) # CustomerRequest | Request object for end customer object
# example passing only required values which don't have defaults set
# and optional values
try:
# Create Customer
api_response = api_instance.create_customer(idempotency_key=idempotency_key, for_user_id=for_user_id, customer_request=customer_request)
pprint(api_response)
except xendit.XenditSdkException as e:
print("Exception when calling CustomerApi->create_customer: %s\n" % e)Customer get_customer(id)
Get Customer By ID
| Name | Value |
|---|---|
| Function Name | get_customer |
| Request Parameters | GetCustomerRequestParams |
| Return Type | Customer |
| Name | Type | Required | Default |
|---|---|---|---|
| id | str | ☑️ | |
| for_user_id | str |
import time
import xendit
from xendit.apis import CustomerApi
from xendit.customer.model.customer import Customer
from xendit.customer.model.get_customer_by_reference_id400_response import GetCustomerByReferenceID400Response
from xendit.customer.model.error import Error
from xendit.customer.model.response_data_not_found import ResponseDataNotFound
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
xendit.set_api_key('XENDIT API KEY')
# Enter a context with an instance of the API client
api_client = xendit.ApiClient()
# Create an instance of the API class
api_instance = CustomerApi(api_client)
id = "d290f1ee-6c54-4b01-90e6-d701748f0851" # str | End customer resource id
for_user_id = "user-1" # str | The sub-account user-id that you want to make this transaction for.
# example passing only required values which don't have defaults set
try:
# Get Customer By ID
api_response = api_instance.get_customer(id)
pprint(api_response)
except xendit.XenditSdkException as e:
print("Exception when calling CustomerApi->get_customer: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get Customer By ID
api_response = api_instance.get_customer(id, for_user_id=for_user_id)
pprint(api_response)
except xendit.XenditSdkException as e:
print("Exception when calling CustomerApi->get_customer: %s\n" % e)GetCustomerByReferenceID200Response get_customer_by_reference_id(reference_id)
GET customers by reference id
| Name | Value |
|---|---|
| Function Name | get_customer_by_reference_id |
| Request Parameters | GetCustomerByReferenceIdRequestParams |
| Return Type | GetCustomerByReferenceID200Response |
| Name | Type | Required | Default |
|---|---|---|---|
| reference_id | str | ☑️ | |
| for_user_id | str |
import time
import xendit
from xendit.apis import CustomerApi
from xendit.customer.model.get_customer_by_reference_id400_response import GetCustomerByReferenceID400Response
from xendit.customer.model.error import Error
from xendit.customer.model.get_customer_by_reference_id200_response import GetCustomerByReferenceID200Response
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
xendit.set_api_key('XENDIT API KEY')
# Enter a context with an instance of the API client
api_client = xendit.ApiClient()
# Create an instance of the API class
api_instance = CustomerApi(api_client)
reference_id = "reference_id_example" # str | Merchant's reference of end customer
for_user_id = "user-1" # str | The sub-account user-id that you want to make this transaction for.
# example passing only required values which don't have defaults set
try:
# GET customers by reference id
api_response = api_instance.get_customer_by_reference_id(reference_id)
pprint(api_response)
except xendit.XenditSdkException as e:
print("Exception when calling CustomerApi->get_customer_by_reference_id: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# GET customers by reference id
api_response = api_instance.get_customer_by_reference_id(reference_id, for_user_id=for_user_id)
pprint(api_response)
except xendit.XenditSdkException as e:
print("Exception when calling CustomerApi->get_customer_by_reference_id: %s\n" % e)Customer update_customer(id)
Update End Customer Resource
| Name | Value |
|---|---|
| Function Name | update_customer |
| Request Parameters | UpdateCustomerRequestParams |
| Return Type | Customer |
| Name | Type | Required | Default |
|---|---|---|---|
| id | str | ☑️ | |
| for_user_id | str | ||
| patch_customer | PatchCustomer |
import time
import xendit
from xendit.apis import CustomerApi
from xendit.customer.model.customer import Customer
from xendit.customer.model.update_customer400_response import UpdateCustomer400Response
from xendit.customer.model.error import Error
from xendit.customer.model.patch_customer import PatchCustomer
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
xendit.set_api_key('XENDIT API KEY')
# Enter a context with an instance of the API client
api_client = xendit.ApiClient()
# Create an instance of the API class
api_instance = CustomerApi(api_client)
id = "d290f1ee-6c54-4b01-90e6-d701748f0851" # str | End customer resource id
for_user_id = "user-1" # str | The sub-account user-id that you want to make this transaction for.
patch_customer = PatchCustomer(
client_name="AirAsia Indonesia",
reference_id="reference_id_example",
individual_detail=IndividualDetail(
given_names="given_names_example",
given_names_non_roman="given_names_non_roman_example",
middle_name="middle_name_example",
surname="surname_example",
surname_non_roman="surname_non_roman_example",
mother_maiden_name="mother_maiden_name_example",
gender="MALE",
date_of_birth="2017-07-21",
nationality=CountryCode("ID"),
place_of_birth="place_of_birth_example",
employment=EmploymentDetail(
employer_name="employer_name_example",
nature_of_business="nature_of_business_example",
role_description="role_description_example",
),
),
business_detail=BusinessDetail(
business_name="business_name_example",
business_type="CORPORATION",
date_of_registration="2017-07-21",
nature_of_business="nature_of_business_example",
business_domicile=CountryCode("ID"),
),
description="description_example",
email="info@xendit.co",
mobile_number="+6281295412345",
phone_number="+6281295412345",
metadata={},
addresses=[
AddressRequest(
category="category_example",
country_code=CountryCode("ID"),
province_state="province_state_example",
city="city_example",
suburb="suburb_example",
postal_code="postal_code_example",
line_1="line_1_example",
line_2="line_2_example",
status=AddressStatus("ACTIVE"),
is_primary=False,
),
],
identity_accounts=[
IdentityAccountRequest(
type=IdentityAccountType("BANK_ACCOUNT"),
company="company_example",
description="description_example",
country=CountryCode("ID"),
properties=IdentityAccountRequestProperties(None),
),
],
kyc_documents=[
KYCDocumentRequest(
country=CountryCode("ID"),
type=KYCDocumentType("BIRTH_CERTIFICATE"),
sub_type=KYCDocumentSubType("NATIONAL_ID"),
document_name="KTP",
document_number="AA123467890",
expires_at="2017-07-21",
holder_name="John Doe",
document_images=[
"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwc=",
],
),
],
status=EndCustomerStatus("ACTIVE"),
) # PatchCustomer | Update Request for end customer object
# example passing only required values which don't have defaults set
try:
# Update End Customer Resource
api_response = api_instance.update_customer(id)
pprint(api_response)
except xendit.XenditSdkException as e:
print("Exception when calling CustomerApi->update_customer: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Update End Customer Resource
api_response = api_instance.update_customer(id, for_user_id=for_user_id, patch_customer=patch_customer)
pprint(api_response)
except xendit.XenditSdkException as e:
print("Exception when calling CustomerApi->update_customer: %s\n" % e)