Customers¶
POST /customers¶
Creates a new customer.
Required scopes: customers
param | type/format | required | sample value | description |
---|---|---|---|---|
address1 | string | false | "Voltastrasse 5" | |
address2 | string | false | "Siedlung" | |
zipcode | string | false | "11-200" | |
city | string | false | "Berlin" | |
company | string | true | "Inventorum" | Required if first and lastname are empty. |
country | string, LL or country full name | false | "DE", "Deutschland" | |
state | string | false | "Brandenburg" | |
title | string | false | "Mr." | Available options: "Mr.", "Mrs.", "Ms." |
first_name | string | true | "John" | Required if company empty. |
last_name | string | true | "Schmidt" | Required if company empty. |
birthday | string, YYYY-MM-DDTHH:mm:ss.sssZ | false | "1985-04-30T10:49:52Z" | Simplified extended ISO format (ISO 8601). The timezone is zero UTC offset, as denoted by the suffix "Z". |
string | false | "paul@inventorum.com" | Doesn't have to be unique. | |
email_marketing_agreed | bolean | false | false | Default value: false. Denotes if a customer accepted receiving marketing offers. |
is_b2b | boolean | false | false | Default value: false. Denotes if a customer is a business or a private person. |
is_favourite | boolean | false | false | Default value: false. Denotes if a customer is a favourite customer. |
is_vip | boolean | false | false | Default value: false. Denotes if a customer is a VIP. |
note | string | false | "Customer from christmas sale" | Additional details about the customer. |
country_code | string | false | "" | |
tax_number | string | false | "DE288362273" | VAT ID |
channel | integer | false | 1 | ID of a channel. Default value: 1 (ipad). Cannot be changed. |
is_confirmed | boolean | false | false | Default: false. |
phone_number | string | false | "978437427278" |
Required headers: Content-Type: application/json
VERSIONING
V9 and earlier accepts a phone_numbers
attribute (instead of phone_number
for later versions) which accepts a list of phone numbers. Additional child attributes: national_number
, type
, county_code
.
Request¶
curl -X POST \
https://app.inventorum.com/api/customers/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {{oauth_token}}' \
-H 'Content-Type: application/json' \
-H 'X-Api-Version: 12' \
-d '{
"billing_address": {
"address1": "Voltastrasse",
"address2": "5",
"city": "Berlin",
"company": "Inventorum",
"country": "DE",
"first_name": "Ana",
"last_name": "Schmidt",
"state": "Berlin",
"title": "Mrs.",
"zipcode": "61-222"
},
"birthday": "1985-04-30T10:49:52Z",
"company": "Inventorum",
"email": "ana.schmidt@inventorum.com",
"email_marketing_agreed": true,
"first_name": "Ana",
"is_b2b": true,
"is_favourite": true,
"is_vip": true,
"last_name": "Schmidt",
"note": "Some additional data",
"shipping_address": [
{
"address1": "Berlinerstrasse",
"address2": "10",
"city": "Bremen",
"company": "",
"country": "DE",
"first_name": "John",
"last_name": "Schmidt",
"state": "Bremen",
"title": "Mr.",
"zipcode": "44-444"
}
],
"title": "Mrs.",
"tax_number": "DE288362273",
"channel": 1
}'
Response¶
{
"id": 553910,
"account_scoped_id": 398,
"billing_address": {
"country": "DE",
"id": 648909,
"address1": "Voltastrasse",
"address2": "5",
"zipcode": "61-222",
"city": "Berlin",
"state": "Berlin",
"first_name": "Ana",
"last_name": "Schmidt",
"company": "Inventorum",
"title": "Mrs."
},
"shipping_address": [
{
"country": "DE",
"id": 648908,
"address1": "Berlinerstrasse",
"address2": "10",
"zipcode": "44-444",
"city": "Bremen",
"state": "Bremen",
"first_name": "John",
"last_name": "Schmidt",
"company": "",
"title": "Mr."
}
],
"is_vip": true,
"is_favourite": true,
"first_name": "Ana",
"phone_number": "978437427278",
"last_name": "Schmidt",
"middle_name": null,
"company": "Inventorum",
"email_marketing_agreed": true,
"note": "Some additional data",
"group": null,
"email": "ana.schmidt@inventorum.com",
"is_b2b": true,
"tax_number": "DE288362273",
"title": "Mrs.",
"customer_note": null,
"is_confirmed": false,
"channel": 1,
"birthday": "1985-04-30T12:49:52+02:00",
"total_sales": "0"
}
Error¶
Status 400 Bad Request
{
"error": {
"fields": {
"first_name": [
"Name or company must be set"
],
"last_name": [
"Name or company must be set"
],
"company": [
"Name or company must be set"
]
},
"description": "Serialization error",
"key": "common.serializer_error"
}
}
GET /customers¶
Returns a list of customers.
Required scopes: customers
param | type/format | required | sample value | description |
---|---|---|---|---|
limit | integer | false | 10 | default and maximum value: 30 |
page | integer | false | 1 | page number |
Required headers: Accept: application/json
VERSIONING
V9 And earlier return a list of of phone numbers inside phone_numbers
.
V10 and later return the phone number as a sting inside phone_number
.
Request¶
curl -X GET \
'https://app.inventorum.com/api/customers/?limit=10&page=1' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {{oauth_token}}' \
-H 'X-Api-Version: 12'
Response¶
Status 200 OK
{
"total": 39,
"data": [
{
"id": 196906,
"account_scoped_id": 103,
"billing_address": {
"country": "DE",
"id": 237180,
"address1": "",
"address2": "",
"zipcode": "",
"city": "",
"state": "",
"first_name": "",
"last_name": "",
"company": "",
"title": "Mr."
},
"shipping_address": [
{
"country": "DE",
"id": 274236,
"address1": "",
"address2": "",
"zipcode": "",
"city": "",
"state": "",
"first_name": "",
"last_name": "",
"company": "",
"title": "Mr."
}
],
"is_vip": false,
"is_favourite": false,
"first_name": "J",
"phone_number": "8277236",
"last_name": "K",
"middle_name": null,
"company": "",
"email_marketing_agreed": false,
"note": "abi",
"group": null,
"email": "",
"tax_number": "",
"title": "Mr.",
"customer_note": null,
"is_confirmed": false,
"channel": 1,
"birthday": null,
"is_b2b": false
}
]
}
GET /customers/favourites/¶
Returns favourite customers.
Required scopes: customers
param | type/format | required | sample value | description |
---|---|---|---|---|
limit | integer | false | 30 | default and max value |
page | integer | false | 10 | page number |
Required headers: 'Accept: application/json'
VERSIONING
V9 And earlier return a list of of phone numbers inside phone_numbers
.
V10 and later return the phone number as a sting inside phone_number
.
Request¶
curl -X GET \
'https://app.inventorum.com/api/customers/favourites?limit=10&page=1' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {{oauth_token}}' \
-H 'X-Api-Version: 12'
Response¶
{
"total": 39,
"data": [
{
"id": 196906,
"account_scoped_id": 103,
"billing_address": {
"country": "DE",
"id": 237180,
"address1": "",
"address2": "",
"zipcode": "",
"city": "",
"state": "",
"first_name": "",
"last_name": "",
"company": "",
"title": "Mr."
},
"shipping_address": [
{
"country": "DE",
"id": 274236,
"address1": "",
"address2": "",
"zipcode": "",
"city": "",
"state": "",
"first_name": "",
"last_name": "",
"company": "",
"title": "Mr."
}
],
"is_vip": false,
"is_favourite": false,
"first_name": "J",
"phone_number": "82376672367",
"last_name": "K",
"middle_name": null,
"company": "",
"email_marketing_agreed": false,
"note": "abi",
"group": null,
"email": "",
"tax_number": "",
"title": "Mr.",
"customer_note": null,
"is_confirmed": false,
"channel": 1,
"birthday": null,
"is_b2b": false
}
]
}
GET /customers/customer_id/¶
Returns details of a customer.
Required scopes: customers
VERSIONING
V9 And earlier return a list of of phone numbers inside phone_numbers
.
V10 and later return the phone number as a sting inside phone_number
.
Request¶
curl -X GET \
https://app.inventorum.com/api/customers/152664/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {{oauth_token}}' \
-H 'X-Api-Version: 12'
Response¶
{
"total": 39,
"data": [
{
"id": 196906,
"account_scoped_id": 103,
"billing_address": {
"country": "DE",
"id": 237180,
"address1": "",
"address2": "",
"zipcode": "",
"city": "",
"state": "",
"first_name": "",
"last_name": "",
"company": "",
"title": "Mr."
},
"shipping_address": [
{
"country": "DE",
"id": 274236,
"address1": "",
"address2": "",
"zipcode": "",
"city": "",
"state": "",
"first_name": "",
"last_name": "",
"company": "",
"title": "Mr."
}
],
"is_vip": false,
"is_favourite": false,
"first_name": "J",
"phone_number": "672672366732",
"last_name": "K",
"middle_name": null,
"company": "",
"email_marketing_agreed": false,
"note": "abi",
"group": null,
"email": "",
"tax_number": "",
"title": "Mr.",
"customer_note": null,
"is_confirmed": false,
"channel": 1,
"birthday": null,
"is_b2b": false
}
]
}
Error¶
Status 404 Not found
{
"error": {
"fields": {},
"description": null,
"key": "common.unknown"
}
}
PUT /customers/customer_id¶
Updates an existing customer.
Note: You can provide only those fields you would like to update.
Required scopes: customers
VERSIONING
V9 and earlier accepts a phone_numbers
attribute (instead of phone_number
for later versions) which accepts a list of phone numbers. Additional child attributes: national_number
, type
, county_code
.
Required headers: 'Content-Type: application/json'
Request¶
curl -X POST \
https://app.inventorum.com/api/customers/ \
-H 'Authorization: Bearer {{oauth_token}}' \
-H 'Content-Type: application/json' \
-H 'X-Api-Version: 12' \
-d '{
"billing_address": {
"address1": "Voltastrasse",
"address2": "5",
"city": "Berlin",
"company": "Inventorum",
"country": "DE",
"first_name": "Ana",
"last_name": "Schmidt",
"state": "Berlin",
"title": "Mrs.",
"zipcode": "61-222"
},
"birthday": "1985-04-30T10:49:52Z",
"company": "Inventorum",
"email": "ana.schmidt@inventorum.com",
"email_marketing_agreed": true,
"first_name": "Ana",
"is_b2b": true,
"is_favourite": true,
"is_vip": true,
"last_name": "Schmidt",
"note": "Some additional data",
"phone_number": "7873676",
"shipping_address": [
{
"address1": "Berlinerstrasse",
"address2": "10",
"city": "Bremen",
"company": "",
"country": "DE",
"first_name": "John",
"last_name": "Schmidt",
"state": "Bremen",
"title": "Mr.",
"zipcode": "44-444"
}
],
"title": "Mrs.",
"tax_number": "DE288362273",
"channel": 1
}'
Response¶
{
"id": 553910,
"account_scoped_id": 398,
"billing_address": {
"country": "DE",
"id": 648909,
"address1": "Voltastrasse",
"address2": "5",
"zipcode": "61-222",
"city": "Berlin",
"state": "Berlin",
"first_name": "Ana",
"last_name": "Schmidt",
"company": "Inventorum",
"title": "Mrs."
},
"shipping_address": [
{
"country": "DE",
"id": 648908,
"address1": "Berlinerstrasse",
"address2": "10",
"zipcode": "44-444",
"city": "Bremen",
"state": "Bremen",
"first_name": "John",
"last_name": "Schmidt",
"company": "",
"title": "Mr."
}
],
"is_vip": true,
"is_favourite": true,
"first_name": "Ana",
"phone_number": "7873676",
"last_name": "Schmidt",
"middle_name": null,
"company": "Inventorum",
"email_marketing_agreed": true,
"note": "Some additional data",
"group": null,
"email": "ana.schmidt@inventorum.com",
"is_b2b": true,
"tax_number": "DE288362273",
"title": "Mrs.",
"customer_note": null,
"is_confirmed": false,
"channel": 1,
"birthday": "1985-04-30T12:49:52+02:00",
"total_sales": "0"
}
Error¶
Status 400 Bad Request
{
"error": {
"fields": {
"first_name": [
"Name or company must be set"
],
"last_name": [
"Name or company must be set"
],
"company": [
"Name or company must be set"
]
},
"description": "Serialization error",
"key": "common.serializer_error"
}
}
DELETE /customers/customer_id¶
Deletes a specified customer.
Required scopes: customers
Required headers: 'Accept: application/json'
Request¶
curl -X DELETE \
https://app.inventorum.com/api/customers/152664/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {{oauth_token}}' \
-H 'X-Api-Version: 12'
Response¶
Status 200 OK
{}
error¶
Status 404 Not Found
{
"error": {
"fields": {},
"description": null,
"key": "common.unknown"
}
}