Create customer account
Before placing an order, a reseller needs to create a customer account by using the Create Customer Account API:
The API returns the customer resource with a link to the Get Customer Account Details endpoint.
Usage instructions
Ensure that you are aware of the following before creating a customer account:
-
Customer account ID is created by this API and returned synchronously.
-
The customer payment instrument is managed on the partner marketplace.
-
cotermDateis usually calculated when a customer’s first order is placed.- Most subscriptions, except for Stock Credit Packs, will end or renew on the
cotermDate.
- Most subscriptions, except for Stock Credit Packs, will end or renew on the
-
Use
cotermDatein your request to create an extended-term customer. For all market segments except EDU, thecotermDatecan be set to a date that is more than one to three years from the current date. For EDU customers, the term can be extended up to four years from the current date. Extended-term customers are not eligible to enroll in 3YC until they enter the last year of their extended term. See Extended-term customers and 3YC enrollment for details. -
Use
externalReferenceIdto pass it to the marketplace’s Customer ID.- Optional and does not need to be unique.
-
Contactsspecifies admins for the customer's account and receive an admin welcome email.- Contact names for existing email addresses cannot be changed. If you send a different name for an existing email, that name will be returned in the synchronous response, but it will not persist in the system. The existing first and last name of the contact will be used and returned in any GET calls.
-
A successful Create Customer request returns the customer with status 1002 (Pending) while final validation runs asynchronously. This validation includes account screening. Depending on the outcome, the account may become Active, Inactive, 1023 (Screening), or 1022 (Sanctioned). For more information, see Account screening statuses.
Customers in Pending status can place orders but cannot be updated through the Update Customer API until the account becomes active or inactive. All orders placed for a pending customer fail if the customer becomes inactive.
-
discountscontains a list of objects with the customer’s discount levels for eachofferType. -
Customers can be created with a specified market segment.
- Reseller must be enabled for that market segment.
- If no market segment is specified in the request, the customer becomes part of the commercial (COM) market segment by default.
-
The
benefitsarray must include theLARGE_GOVERNMENT_AGENCYindicator for LGA customers.
Account screening statuses
As part of the asynchronous validation process, every new customer account is screened against government restricted party lists before it can transact. The account status indicates the screening outcome:
Use the Get Customer Account Details endpoint to monitor the account and retrieve the final status after screening is complete.
Request header
Bearer <token>Note: For details of the request and response parameters, see Request and response parameters.
Request Body
Customer resource without read-only fields:
{
"resellerId": "5556667778",
"externalReferenceId": "342",
"companyProfile": {
"companyName": "Fairmont",
"preferredLanguage": "en-US",
"marketSegment": "EDU",
"address": {
"country": "US",
"region": "CA",
"city": "San Jose",
"addressLine1": "200 Fairmont Ave",
"addressLine2": "Apt 123",
"postalCode": "95110-1234",
"phoneNumber": "800-123-4567"
},
"contacts": [
{
"firstName": "Donald",
"lastName": "Duck",
"email": "donald@duck.com",
"phoneNumber": "408-123-4567"
}
]
}
}
Response body
{
"externalReferenceId": "342",
"customerId": "9876543210",
"resellerId": "5556667778",
"globalSalesEnabled": false,
"companyProfile": {
"companyName": "Fairmont",
"preferredLanguage": "en-US",
"marketSegment": "EDU",
"address": {
"country": "US",
"region": "CA",
"city": "San Jose",
"addressLine1": "200 Fairmont Ave",
"addressLine2": "Apt 123",
"postalCode": "95110-1234",
"phoneNumber": "800-123-4567"
},
"contacts": [
{
"firstName": "Donald",
"lastName": "Duck",
"email": "donald@duck.com",
"phoneNumber": "408-123-4567"
}
]
},
"discounts": [
{
"offerType": "LICENSE",
"level": "02"
}
],
"cotermDate": "",
"creationDate": "2019-05-02T22:49:52Z",
"status": "1002",
"links": {
"self": {
"uri": "/v3/customers/9876543210",
"method": "GET",
"headers": []
}
}
}
Request and response parameters
Customer (top-level resource)
linkedMembership resourceCompanyProfile resourcediscounts resourcebenefits resourceFor more details, refer to Resources and fields.