Skip to main content

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_credit
Adds 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_points
Adjusts 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_suppression
Clears 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_token
Create 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/customers
Insert a customer on the UltraCart account.
Insert a customer wishlist item
POST/customer/customers/{customer_profile_oid}/wishlist
Insert a customer wishlist item
Merge customer into this customer
PUT/customer/customers/{customer_profile_oid}/merge
Merge 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_lists
Retrieve all email lists across all storefronts
Retrieve customers
GET/customer/customers
Retrieves customers from the account.
Retrieve customers by query
POST/customer/customers/query
Retrieves customers from the account.
Retrieve customers for DataTables plugin
POST/customer/customers/dataTables
Retrieves customers from the account.
Retrieve the customer store credit accumulated through loyalty programs
GET/customer/customers/{customer_profile_oid}/store_credit
Retrieve the customer store credit accumulated through loyalty programs
Retrieve the loyalty points, ledger and redemptions for a customer
GET/customer/customers/{customer_profile_oid}/loyalty
Retrieve the loyalty points, ledger and redemptions for a customer.
Retrieve values needed for a customer profile editor
GET/customer/editor_values
Retrieve 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}/wishlist
Retrieve wishlist items for customer.
Search for customers
GET/customer/customers/search
Retrieves customers from the account by matching the search value against most customer fields.
Search the merchant's QuickBooks Online customers
GET/customer/quickbooks_online/customers
Typeahead search of the merchant's QuickBooks Online customers by display name.
Searches for all matching values (using POST)
POST/customer/search
Searches 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_lists
Update 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_balance
Updates 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_token
Validate 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.

EventDescriptionReflowExpandable
customer_createFired when a customer profile is created.—Yes
customer_deleteFired when a customer profile is deleted.—Yes
customer_updateFired when a customer profile is updated.—Yes

Receiving these events​

  • Payload: each delivery is a POST whose 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?