Skip to content

Add a customer

POST
/api/v1/commerce/customers
curl --request POST \
--url https://digize.com/api/v1/commerce/customers \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: 5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69' \
--header 'x-api-key: <x-api-key>' \
--data '{ "firstName": "example", "lastName": "example", "email": "example", "phone": "example", "tags": [ "example" ], "emailMarketing": "subscribed", "smsMarketing": "subscribed", "addresses": [ { "id": "example", "label": "example", "line1": "example", "line2": "example", "city": "example", "region": "example", "postalCode": "example", "country": "example", "isDefault": true } ] }'

Adds a customer: their CRM contact (or the one the duplicate rule finds) with addresses and marketing consent.

Needs the commerce:write permission.

Idempotency-Key
string
>= 1 characters <= 255 characters

Makes the request safe to send again: for 24 hours the same key and request answer the first response without repeating the change.

Example

5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69
Media typeapplication/json
object
firstName
string
<= 80 characters
lastName
string
<= 80 characters
email
Any of:
string
<= 254 characters
phone
Any of:
string
<= 40 characters
tags
Array<string>
<= 50 items
emailMarketing
string
Allowed values: subscribed not_subscribed unsubscribed
smsMarketing
string
Allowed values: subscribed not_subscribed unsubscribed
addresses

Replaces their addresses.

Array<object>
<= 20 items
object
id
string
<= 64 characters
label
required
string
line1
required
string
line2
required
string | null
city
required
string
region
required
string
postalCode
required
string
country
required
string
isDefault
required
boolean

Done

Media typeapplication/json
object
id
required

The CRM contact’s id.

string
firstName
required
string
lastName
required
string
name
required
string
email
required
string
phone
required
string
location
required
string
company
required
string | null
tags
required
Array<string>
emailMarketing
required
string
Allowed values: subscribed not_subscribed unsubscribed
smsMarketing
required
string
Allowed values: subscribed not_subscribed unsubscribed
orders
required
number
amountSpent
required

What they’ve paid, less refunds.

number
firstOrderAt
required
Any of:
string format: date-time
lastOrderAt
required
Any of:
string format: date-time
customerSince
required
string format: date-time
addresses
required
Array<object>
object
id
required
string
label
required
string
line1
required
string
line2
required
string | null
city
required
string
region
required
string
postalCode
required
string
country
required
string
isDefault
required
boolean
notes
required
Array<object>
object
id
required
string
body
required
string
author
required
string
createdAt
required
string format: date-time

Example

{
"emailMarketing": "subscribed",
"smsMarketing": "subscribed"
}

What was sent isn’t valid (invalid).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

No key, or one that’s unknown, off or expired.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

The key doesn’t have the permission this needs.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

Nothing has that id (not_found).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

A request with the same Idempotency-Key is still running (conflict).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

The Idempotency-Key was used with a different request.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

Over the rate limit; see retry-after.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}