How to Retrieve Client Records Using the Booxi API

The following article presents different ways to retrieve client records using the Booxi API.

Please take note that this implementation requires a partner API Key. If you haven’t been provided with such a key, please contact your Booxi representative.


Furthermore, your partner API key and webhook endpoint must have been configured/authorized for a module in order to access its linked data.


Be reminded that the URL you should use depends on your hosting region.

North America Europe
api.booxi.com api.booxi.eu

Client Records

Client records can be retrieved using their unique Booxi clientId, their contact information (name, phone or email) or from an external ID defined in the client module. Take note that each method uses a different endpoint.

When searching for a client record using its external ID, the search will be performed in all merchants authorized by the partner API key, with or without a shared clientele as long as they use the same client module.

Limitations

  • If your query results in too many records, only the first matching clients will be returned.
  • Query can be performed by using an externalId, clientId or contact information but these criterias cannot be mixed.

Retrieving Client Records From an External ID

To retrieve client records from an external ID, use the merchant API GET /client/ by providing the moduleID to look into (the client module ID) and the client externalId to search for.

Request URL for North America

https://api.booxi.com/booking/v1/client?moduleId="YOUR_MODULE_ID"&externalId="CUSTOMER_ID"

cURL

curl -X GET
"https://api.booxi.com/booking/v1/client/?moduleId="YOUR_MODULE_ID"&externalId="CLIENT_ID"
-H  "accept: application/json"
-H  "Booxi-PartnerKey: YOUR_PARTNER_KEY"

GET /client swagger information can be found at the following links:

For North America For Europe
GET /client GET /client

Retrieving a Client’s Record From its Client ID

To retrieve the client’s record, use the merchant API GET /client/{clientId} by providing a Booxi clientId

Request URL for North America

https://api.booxi.com/booking/v1/client/{clientId}

cURL

curl -X GET
"https://api.booxi.com/booking/v1/client/{clientId}"
-H  "accept: application/json"
-H  "Booxi-PartnerKey: YOUR_PARTNER_KEY"

GET /client/{clientId} swagger information can be found at the following links:

For North America For Europe
GET /client/{clientId}  GET /client/{clientId}

Retrieving a Client’s Record From its Contact Info

To retrieve the client’s record from its contact information, use the merchant API GET /client by using one of the following parameters:

By Name

To search by name, you must provide a valid merchant ID and the client’s first and last name. The client must belong to the merchant or be part of a shared clientele associated with the merchant you are searching for.

Request URL for North America

https://api.booxi.com/booking/v1/client?merchantId=YOUR_ID&firstName=FIRST&lastName=LAST

cURL

curl -X GET
"https://api.booxi.com/booking/v1/client?merchantId=YOUR_ID&firstName=FIRST%lastName=LAST"
-H  "accept: application/json"
-H  "Booxi-PartnerKey: YOUR_PARTNER_KEY"

By Phone Number

To search by phone number, you must provide a valid merchant ID and the client’s phone number. The client must belong to the merchant or be part of a shared clientele associated with the merchant you are searching for.

Request URL for North America

https://api.booxi.com/booking/v1/client?merchantId=YOUR_ID&phoneNumber=PHONE_NUMBER

cURL

curl -X GET
"https://api.booxi.com/booking/v1/client?merchantId=YOUR_ID&phoneNumber=PHONE_NUMBER"
-H  "accept: application/json"
-H  "Booxi-PartnerKey: YOUR_PARTNER_KEY"

By eMail Address

To search by email address, you must provide a valid merchant ID and the client’s email address. The client must belong to the merchant or be part of a shared clientele associated with the merchant you are searching for.

Request URL for North America

https://api.booxi.com/booking/v1/client?merchantId=YOUR_ID&email=EMAIL

cURL

curl -X GET
"https://api.booxi.com/booking/v1/client?merchantId=YOUR_ID&email=EMAIL"
-H  "accept: application/json"
-H  "Booxi-PartnerKey: YOUR_PARTNER_KEY"

GET /client/ swagger information can be found at the following links:

For North America For Europe
GET /client/ GET /client/

Use Cases

Link Booxi Clients with Customers from your eCom or CRM Platform

  • Using the GET /client/{clientId}/moduleLink/{moduleId} endpoint, check if the externalId associated with a client in Booxi corresponds to a customer ID in your database.
  • If the externalID cannot be matched, create a new customer in your eCom or CRM platform and use the PUT /client/{clientId}/moduleLink/{moduleId} endpoint to update the client module link by assigning its externalId  and custom metadata.
  • When a new booking is captured, validate that the client can be found in your eCom or CRM platform, if not, once again create a new customer and update the client in Booxi using the API. 

Limitations

  • The authentication method requires a secure environment.
  • The endpoint must not be exposed on a webpage but rather server side.

References

For more information about Booxi APIs and their usage, please refer to the following links:

Europe: https://api.booxi.eu/doc/booking.html

Americas: https://api.booxi.com/doc/booking.html

 

Where to find API keys:

  • Your Merchant API key can be found in the back office, section My Business / Details.
  • Your Partner API key must be requested to your Booxi Account Manager. The Partner API key must only be used in server-side (backend) code to keep it a secret.