Create or update
Use the Create or Update Customer API to create a new customer record or update an existing one.
Request parameters
info
Either email or phoneNumber must be provided; both cannot be empty at the same time.
| Name | Type | Required/Optional | Description |
|---|---|---|---|
partnerCustomerId | string | Optional | External customer ID |
firstName | string | Optional | Customer first name |
lastName | string | Optional | Customer last name |
phoneNumber | string | Optional | Customer phone number |
email | string | Optional | Customer email address |
secondaryEmail | string | Optional | Secondary email address |
secondaryPhoneNumber | string | Optional | Secondary phone number |
alternateEmails | string[] | Optional | Alternate email addresses for asset creation |
alternatePhoneNumbers | string[] | Optional | Alternate phone numbers for asset creation |
secondaryEmails | string[] | Optional | Alternate email addresses for asset creation |
secondaryPhoneNumbers | string[] | Optional | Alternate phone numbers for asset creation |
overWriteAssets | boolean | Optional | Replace existing assets with the provided values |
tags | string[] | Optional | Customer tags |
addresses | BikPlatformAddress[] | Optional | Customer addresses. See the BikPlatformAddress type here. |
Note:
The secondaryEmails and secondaryPhoneNumbers fields are deprecated. Use alternateEmails and alternatePhoneNumbers instead.
Request Information
| Category | Value |
|---|---|
| Http request | POST |
| URL | https://bikapi.bikayi.app/integrations/bikPlatformFunctions-customers/createOrUpdate |
Sample request
curl --location 'https://bikapi.bikayi.app/integrations/bikPlatformFunctions-customers/createOrUpdate' \
--header 'Authorization: Basic AUTH_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"partnerCustomerId": "abcd-122345",
"firstName": "First",
"lastName": "Last",
"phoneNumber": "+919090909090",
"email": "test.2@bik.ai",
"secondaryEmail": "test3@bik.ai",
"secondaryPhoneNumber": "+918908898123",
"alternateEmails": ["test898900@bik.ai", "test898911@bik.ai"],
"alternatePhoneNumbers": ["+918989890011", "+918989890022"],
"tags": ["test", "test2"],
"addresses": [
{
"address1": "hsr layout",
"city": "bangalore",
"country": "India",
"countryCode": "IN",
"state": "karnataka",
"zip": "560102"
}
]
}'
JSON response example:
{
"status": 200,
"success": true,
"data": {
"customer": {
"id": 5482636,
"partnerCustomerId": "abcd-122345",
"firstName": "Test",
"lastName": "Last",
"phoneNumber": "+919090909090",
"email": "test.2@bik.ai",
"countryCode": "IND",
"createdAt": "2024-08-09T09:32:55.568Z",
"updatedAt": "2024-08-09T09:33:15.939Z",
"assets": [
{
"id": 4516077,
"createdAt": "2024-08-09T09:32:55.583Z",
"assetName": "EMAIL",
"assetValue": "test.2@bik.ai",
"countryCode": null
},
{
"id": 4516079,
"createdAt": "2024-08-09T09:33:16.284Z",
"assetName": "PHONE_NUMBER",
"assetValue": "+919090909090",
"countryCode": "IND"
}
]
}
}
}
Response parameters
| Name | Type | Description |
|---|---|---|
status | number | HTTP status code |
success | boolean | Indicates whether the request succeeded |
data | BikPlatformCustomer | Customer record |
BikPlatformAddress Type
| Name | Type | Required/Optional | Description |
|---|---|---|---|
partnerAddressId | string | Optional | External address ID |
addressId | string | Optional | BIK address ID |
address1 | string | Required | Primary address line |
address2 | string | Optional | Secondary address line |
city | string | Required | City |
country | string | Required | Country |
countryCode | string | Required | Country code |
state | string | Required | State or province |
stateCode | string | Optional | State or province code |
zip | string | Required | Postal / ZIP code |
latitude | number | Optional | Address latitude |
longitude | number | Optional | Address longitude |
timezone | string | Optional | Address timezone |
firstName | string | Optional | First name |
lastName | string | Optional | Last name |
phoneNumber | string | Optional | Phone number |
email | string | Optional | Email address |
isDefault | boolean | Optional | Whether this is the default address |
BikPlatformCustomer Type
| Name | Type | Description |
|---|---|---|
partnerCustomerId | string | External customer ID |
firstName | string | Customer first name |
lastName | string | Customer last name |
phoneNumber | string | Customer phone number |
email | string | Customer email address |
addresses | BikPlatformAddress[] | Customer addresses |
assets | BikPlatformCustomerAssets[] | Customer assets |
BikPlatformAddress Type
| Name | Type | Description |
|---|---|---|
partnerAddressId | string | External address ID |
addressId | string | BIK address ID |
address1 | string | Primary address line |
address2 | string | Secondary address line |
city | string | City |
country | string | Country |
countryCode | string | Country code |
state | string | State or province |
stateCode | string | State or province code |
zip | string | Postal / ZIP code |
latitude | number | Address latitude |
longitude | number | Address longitude |
timezone | string | Address timezone |
firstName | string | First name |
lastName | string | Last name |
phoneNumber | string | Phone number |
email | string | Email address |
isDefault | boolean | Whether this is the default address |
BikPlatformCustomerAssets Type
Note:
These represent the customer's secondary email addresses and phone numbers.
| Name | Type | Description |
|---|---|---|
id | string | Asset ID |
createdAt | string | Asset creation timestamp |
assetName | string | Asset type (PHONE_NUMBER or EMAIL) |
assetValue | string | Asset value (a valid phone number or email) |
countryCode | string | Country code |
Errors
| Error Code | Meaning |
|---|---|
| 400 | Invalid payload -- Your request is invalid. |
| 401 | Unauthorized -- User is not authenticated. |
| 404 | Not Found -- The specified API could not be found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Error response example:
{
"status": 400,
"errors": [
{
"message": "'email' is required. 'phoneNumber' is required"
}
]
}