Customers
Reading a lot of customer history?
For backfills, exports and reporting, the BigQuery SDK (JavaScript) reads customers from your UltraCart data warehouse in one query and returns the same Customer objects as this API, fully expanded, without REST rate limits. Its change log also keeps every version of each customer, including deletes, so you can sync only what changed: the REST API returns only the current version. See BigQuery SDK Quickstart.
Adds store credit to a customer
POST
/customer/customers/{customer_profile_oid}/store_creditAdds store credit to a customer
Adjusts the loyalty points for a customer by adding a record to the loyalty ledger.
POST
/customer/customers/{customer_profile_oid}/adjust_loyalty_pointsAdjusts the loyalty points for a customer by adding a record to the loyalty ledger.
Clear email suppression for a customer
POST
/customer/customers/{customer_profile_oid}/email_suppressionClears global unsubscribe, spam complaint and/or bounce suppression for a customer.
Create a token that can be used to verify a customer email address
POST
/customer/customers/email_verify/get_tokenCreate a token that can be used to verify a customer email address.
Delete a customer
DELETE
/customer/customers/{customer_profile_oid}Delete a customer on the UltraCart account.
Delete a customer wishlist item
DELETE
/customer/customers/{customer_profile_oid}/wishlist/{customer_wishlist_item_oid}Delete a customer wishlist item
getMagicLink
PUT
/customer/customers/{customer_profile_oid}/magic_link/{storefront_host_name}Retrieves a magic link to allow a merchant to login as a customer.
Insert a customer
POST
/customer/customersInsert a customer on the UltraCart account.
Insert a customer wishlist item
POST
/customer/customers/{customer_profile_oid}/wishlistInsert a customer wishlist item
Merge customer into this customer
PUT
/customer/customers/{customer_profile_oid}/mergeMerge customer into this customer.
Retrieve a customer
GET
/customer/customers/{customer_profile_oid}Retrieves a single customer using the specified customer profile oid.
Retrieve a customer by Email
GET
/customer/customers/by_email/{email}Retrieves a single customer using the specified customer email address.
Retrieve all email lists across all storefronts
GET
/customer/email_listsRetrieve all email lists across all storefronts
Retrieve customers
GET
/customer/customersRetrieves customers from the account.
Retrieve customers by query
POST
/customer/customers/queryRetrieves customers from the account.
Retrieve customers for DataTables plugin
POST
/customer/customers/dataTablesRetrieves customers from the account.
Retrieve the customer store credit accumulated through loyalty programs
GET
/customer/customers/{customer_profile_oid}/store_creditRetrieve the customer store credit accumulated through loyalty programs
Retrieve the loyalty points, ledger and redemptions for a customer
GET
/customer/customers/{customer_profile_oid}/loyaltyRetrieve the loyalty points, ledger and redemptions for a customer.
Retrieve values needed for a customer profile editor
GET
/customer/editor_valuesRetrieve values needed for a customer profile editor.
Retrieve wishlist item for customer
GET
/customer/customers/{customer_profile_oid}/wishlist/{customer_wishlist_item_oid}Retrieve wishlist item for customer.
Retrieve wishlist items for customer
GET
/customer/customers/{customer_profile_oid}/wishlistRetrieve wishlist items for customer.
Search for customers
GET
/customer/customers/searchRetrieves customers from the account by matching the search value against most customer fields.
Search the merchant's QuickBooks Online customers
GET
/customer/quickbooks_online/customersTypeahead search of the merchant's QuickBooks Online customers by display name.
Searches for all matching values (using POST)
POST
/customer/searchSearches for all matching values (using POST)
Update a customer
PUT
/customer/customers/{customer_profile_oid}Update a customer on the UltraCart account.
Update a customer wishlist item
PUT
/customer/customers/{customer_profile_oid}/wishlist/{customer_wishlist_item_oid}Update a customer wishlist item
Update email list subscriptions for a customer
POST
/customer/customers/{customer_profile_oid}/email_listsUpdate email list subscriptions for a customer
Updates the cashback balance for a customer by updating the internal gift certificate used, creating the gift certificate if needed.
POST
/customer/customers/{customer_profile_oid}/adjust_cashback_balanceUpdates the cashback balance for a customer by updating the internal gift certificate used, creating the gift certificate if needed.
Validate a token that can be used to verify a customer email address
POST
/customer/customers/email_verify/validate_tokenValidate a token that can be used to verify a customer email address.
Webhooks
The following webhook events are available for this resource. See Webhooks for how delivery, retries, and versioning work.
| Event | Description | Reflow | Expandable |
|---|---|---|---|
customer_create | Fired when a customer profile is created. | — | Yes |
customer_delete | Fired when a customer profile is deleted. | — | Yes |
customer_update | Fired when a customer profile is updated. | — | Yes |
Receiving these events
- Payload: each delivery is a
POSTwhose JSON body is an array of events, even when it carries one. Each element has a single key, the event name, whose value is the object, for example[{"customer_create": {...}}]. - Contents: the object includes only the parts in the webhook's expansion. Expansions appear when you edit the webhook after creating it.
- Respond within 30 seconds. Store or queue the payload and do the work in a background job.
- Batching: one delivery can bundle several events. The webhook sets how many (10 or more) and the maximum payload size (up to 900K).
- HTTPS: use it. It is required whenever the payload includes customer information.
- Testing: the webhook's test button sends a delivery, and its log shows each one. To resend existing records, for example to backfill a new receiver, request a reflow.
More: Webhooks, Creating a simple webhook (with a sample payload), receiver samples in PHP and Python
Was this page helpful?