BETA

Importing Customers

This endpoint can be used to import Customer data to create and update Customers in a commercetools Project. The Customer data to import is represented by CustomerImport and loaded in CustomerImportRequest, which is posted to import Customers.

To monitor an import status, use Get ImportSummary, Get ImportOperation, and Query ImportOperations.

Representations

CustomerImportRequest

The request body to import Customers. Contains data for Customers to be created or updated in a commercetools Project.

type
String
"customer"

The customer import resource type.

resources

The customer import resources of this request.

MaxItems: 20
Example: json
{
"type" : "customer",
"resources" : [ {
"customerNumber" : "12345",
"email" : "alice@example.org",
"password" : "secret",
"firstName" : "Alice",
"lastName" : "Doe",
"middleName" : "Ruth",
"title" : "Ms.",
"dateOfBirth" : "1980-01-01",
"companyName" : "commercetools GmbH",
"vatId" : "123456789",
"addresses" : [ {
"key" : "wCVKP6iU",
"firstName" : "Alice",
"country" : "DE"
}, {
"key" : "en-wcvK6",
"firstName" : "Alice",
"country" : "US"
} ],
"defaultShippingAddress" : 0,
"shippingAddresses" : [ 0, 1 ],
"defaultBillingAddress" : 0,
"billingAddresses" : [ 0, 1 ],
"isEmailVerified" : false,
"externalId" : "external-id-123",
"customerGroup" : {
"typeId" : "customer-group",
"key" : "customer-group-key"
},
"custom" : {
"type" : {
"key" : "custom-type",
"typeId" : "type"
},
"fields" : {
"boolean-field" : {
"type" : "Boolean",
"value" : true
}
}
},
"locale" : "DE",
"salutation" : "Dr.",
"key" : "customer-import-resource-key",
"stores" : [ {
"typeId" : "store",
"key" : "store-key"
} ]
} ]
}

CustomerImport

The data representation for a Customer to be imported that is persisted as a Customer in the Project.

key
String
customerNumber
String

Maps to Customer.customerNumber.

email
String

Maps to Customer.email.

password
String

Maps to Customer.password.

stores
Array of StoreKeyReference

The References to the Stores with which the Customer is associated. If referenced Stores do not exist, the state of the ImportOperation will be set to unresolved until the necessary Stores are created.

firstName
String

Maps to Customer.firstName.

lastName
String

Maps to Customer.lastName.

middleName
String

Maps to Customer.middleName.

title
String

Maps to Customer.title.

salutation
String

Maps to Customer.salutation.

externalId
String

Maps to Customer.externalId.

dateOfBirth
Date

Maps to Customer.dateOfBirth.

companyName
String

Maps to Customer.companyName.

vatId
String

Maps to Customer.vatId.

isEmailVerified
Boolean

Maps to Customer.isEmailVerified.

The Reference to the CustomerGroup with which the Customer is associated. If referenced CustomerGroup does not exist, the state of the ImportOperation will be set to unresolved until the necessary CustomerGroup is created.

addresses

Maps to Customer.addresses.

defaultBillingAddress
Int

The index of the address in the addresses array. The defaultBillingAddressId of the customer will be set to the ID of that address.

billingAddresses
Array of Integer

The indices of the billing addresses in the addresses array. The billingAddressIds of the customer will be set to the IDs of that addresses.

defaultShippingAddress
Int

The index of the address in the addresses array. The defaultShippingAddressId of the customer will be set to the ID of that address.

shippingAddresses
Array of Integer

The indices of the shipping addresses in the addresses array. The shippingAddressIds of the customer will be set to the IDs of that addresses.

locale
String

Maps to Customer.locale.

custom

The custom fields for this Customer.

CustomerAddress

Different from Address in that key is required and id is not supported.

key
String

User-defined identifier for the address. Must follow the pattern [a-zA-Z0-9_-]{2,256} and must be unique per customer.

title
String
salutation
String
firstName
String
lastName
String
streetName
String
streetNumber
String
additionalStreetInfo
String
postalCode
String
city
String
region
String
state
String
country
CountryCode

A two-digit country code as per ISO 3166-1 alpha-2.

company
String
department
String
building
String
apartment
String
pOBox
String
phone
String
mobile
String
email
String
fax
String
additionalAddressInfo
String
externalId
String

Import Customers

Creates a request for creating new Customers or updating existing ones.

POST
https://import.{region}.commercetools.com/{projectKey}/customers/import-containers/{importContainerKey}
OAuth 2.0 Scopes:
manage_customers:{projectKey}
Path parameters:
region
String

The Region in which the Project is hosted.

projectKey
String

The commercetools Project key.

importContainerKey
String

The ImportContainer used to create the new resource

Response:
Request Example:cURL
curl -X POST https://import.{region}.commercetools.com/{projectKey}/customers/import-containers/{importContainerKey} -i \
--header 'Authorization: Bearer ${BEARER_TOKEN}' \
--header 'Content-Type: application/json' \
--data-binary @- << DATA
{
"type" : "customer",
"resources" : [ {
"customerNumber" : "12345",
"email" : "alice@example.org",
"password" : "secret",
"firstName" : "Alice",
"lastName" : "Doe",
"middleName" : "Ruth",
"title" : "Ms.",
"dateOfBirth" : "1980-01-01",
"companyName" : "commercetools GmbH",
"vatId" : "123456789",
"addresses" : [ {
"key" : "wCVKP6iU",
"firstName" : "Alice",
"country" : "DE"
}, {
"key" : "en-wcvK6",
"firstName" : "Alice",
"country" : "US"
} ],
"defaultShippingAddress" : 0,
"shippingAddresses" : [ 0, 1 ],
"defaultBillingAddress" : 0,
"billingAddresses" : [ 0, 1 ],
"isEmailVerified" : false,
"externalId" : "external-id-123",
"customerGroup" : {
"typeId" : "customer-group",
"key" : "customer-group-key"
},
"custom" : {
"type" : {
"key" : "custom-type",
"typeId" : "type"
},
"fields" : {
"boolean-field" : {
"type" : "Boolean",
"value" : true
}
}
},
"locale" : "DE",
"salutation" : "Dr.",
"key" : "customer-import-resource-key",
"stores" : [ {
"typeId" : "store",
"key" : "store-key"
} ]
} ]
}
DATA