POST api/customerfeed
Each customer added will update any matching referrals to approved and add them as a pre-loaded member based on your account's settings. Approving a referral triggers any configured rewards; customers with no matching referral are added as pre-loaded members to every program with the Preload New Customers setting on.
Request Information
URI Parameters
Query String:
None.
Body Parameters
A structure containing details about the customer.
Type: NewCustomer
| Name | Description | Type | Additional information |
|---|---|---|---|
|
The customer's email address. Required. Used as the primary match key against pending referrals and existing members. |
string |
None. |
|
| externalId |
Your system's identifier for this customer (e.g. a Stripe customer id or CRM contact id). Stored on any matched referral for downstream reconciliation and echoed back on the result for caller-side correlation. Optional. |
string |
None. |
| firstName |
Customer first name. Written to referral demographics on match, or to the preloaded member profile. Optional. |
string |
None. |
| lastName |
Customer last name. Written to referral demographics on match, or to the preloaded member profile. Optional. |
string |
None. |
| phone |
Customer phone number. Free-form; no format enforcement. Optional. |
string |
None. |
| addressLine1 |
Customer street address. Optional. |
string |
None. |
| addressLine2 |
Customer street address line 2 (apartment, suite, etc.). Optional. |
string |
None. |
| city |
Customer city. Optional. |
string |
None. |
| region |
Customer region, a region name or ISO_3166-2 subdivision code. Optional. |
string |
None. |
| postalCode |
Customer postal code. Optional. |
string |
None. |
| amount |
Purchase amount associated with this customer. Feeds reward calculation when a matched referral is approved. Defaults to 0 if omitted. Optional. |
decimal number |
None. |
| purchaseDate |
Purchase date associated with this customer. Defaults to the server's current UTC time if omitted. Optional. |
date |
None. |
Request Formats
application/json, text/json
{
"email": "sample string 1",
"externalId": "sample string 2",
"firstName": "sample string 3",
"lastName": "sample string 4",
"phone": "sample string 5",
"addressLine1": "sample string 6",
"addressLine2": "sample string 7",
"city": "sample string 8",
"region": "sample string 9",
"postalCode": "sample string 10",
"amount": 1.0,
"purchaseDate": "2026-07-31T03:02:40.2751654Z"
}
application/xml, text/xml
<newCustomer xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <addressLine1>sample string 6</addressLine1> <addressLine2>sample string 7</addressLine2> <amount>1</amount> <city>sample string 8</city> <email>sample string 1</email> <externalId>sample string 2</externalId> <firstName>sample string 3</firstName> <lastName>sample string 4</lastName> <phone>sample string 5</phone> <postalCode>sample string 10</postalCode> <purchaseDate>2026-07-31T03:02:40.2751654+00:00</purchaseDate> <region>sample string 9</region> </newCustomer>
Response Information
Resource Description
[HTTP Status 200 - OK] A per-record outcome describing what happened.
Type: NewCustomerResult
| Name | Description | Type | Additional information |
|---|---|---|---|
|
Echoes the email from the input record (trimmed). Primary correlation key back to the caller. |
string |
None. |
|
| externalId |
Echoes the externalId from the input record, if one was provided. |
string |
None. |
| status |
The engine's per-record outcome. One of: ReferralApproved, ReferralUpdated, MemberPreloaded, MemberUpdated, SkippedNoEmail, SkippedNoMatchOptInOff, SkippedAmbiguous, SkippedAlreadyTracked, SkippedPreloadValidationFailed, SkippedDuplicate, SkippedFlowDisabled, or Error. |
string |
None. |
| statusCategory |
Coarse grouping of status to make integrator branching easy. One of Approved, Updated, Preloaded, Skipped, or Error. |
string |
None. |
| message |
Human-readable explanation of the outcome. Populated for skip and error outcomes; may also carry context on successful outcomes. |
string |
None. |
| amount |
Echoes the purchase amount from the input record. |
decimal number |
None. |
| purchaseDate |
Echoes the purchase date from the input record (or the server-assigned UTC time if omitted on input). |
date |
None. |
Response Formats
application/json, text/json
{
"email": "sample string 1",
"externalId": "sample string 2",
"status": "sample string 3",
"statusCategory": "sample string 4",
"message": "sample string 5",
"amount": 1.0,
"purchaseDate": "2026-07-31T03:02:40.2751654Z"
}
application/xml, text/xml
<newCustomerResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <email>sample string 1</email> <externalId>sample string 2</externalId> <status>sample string 3</status> <statusCategory>sample string 4</statusCategory> <message>sample string 5</message> <amount>1</amount> <purchaseDate>2026-07-31T03:02:40.2751654+00:00</purchaseDate> </newCustomerResult>