In this blog, We going to to create customer using REST API.
First we need to admin token to get customer info.
We can refer blog for generate admin token
https://www.magedad.com/magento-2-how-to-generate-admin-token-using-rest-api/
Rest API endpoint = https://domain.test/rest/V1/customers
Rest API endpoint for store(default is store code) = https://domain.test/rest/default/V1/customers
Method = POST
Content type = Content-Type:application/json
Header = Authorization: Bearer xxxx_admin_token_xxxx
Post Data =
{
"customer": {
"email": "jdoe3@example.com",
"firstname": "Jane",
"lastname": "Doe",
"addresses": [
{
"defaultShipping": true,
"defaultBilling": true,
"firstname": "Jon",
"lastname": "Doe",
"region": {
"regionCode": "NY",
"region": "New York",
"regionId": 43
},
"postcode": "10755",
"street": [
"123 Oak Ave"
],
"city": "Purchase",
"telephone": "512-555-1111",
"countryId": "US"
},
{
"defaultShipping": true,
"defaultBilling": true,
"firstname": "Jane",
"lastname": "Doe",
"region": {
"regionCode": "NY",
"region": "New York",
"regionId": 43
},
"postcode": "10755",
"street": [
"123 Oak Ave"
],
"city": "Purchase",
"telephone": "512-555-1111",
"countryId": "US"
}
]
},
"password": "Password1"
}
Examples:
The following image shows a customer create by a REST client:
Here is simple php code for call API. This code is not recommended for Magento.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://domain.test/rest/V1/customers',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"customer": {
"email": "jdoe3@example.com",
"firstname": "Jane",
"lastname": "Doe",
"addresses": [
{
"defaultShipping": true,
"defaultBilling": true,
"firstname": "Jon",
"lastname": "Doe",
"region": {
"regionCode": "NY",
"region": "New York",
"regionId": 43
},
"postcode": "10755",
"street": [
"123 Oak Ave"
],
"city": "Purchase",
"telephone": "512-555-1111",
"countryId": "US"
},
{
"defaultShipping": true,
"defaultBilling": true,
"firstname": "Jane",
"lastname": "Doe",
"region": {
"regionCode": "NY",
"region": "New York",
"regionId": 43
},
"postcode": "10755",
"street": [
"123 Oak Ave"
],
"city": "Purchase",
"telephone": "512-555-1111",
"countryId": "US"
}
]
},
"password": "Password1"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer xxxx_admin_token_xxxx'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
I hope this blog is useful to create customer using REST API. In case, I missed anything or need to add some more information, Don’t heisted to leave a comment in this blog, I’ll get back with some positive approach.
Keep liking 👍 Keep sharing 📣 Keep loving ❤️ Keep inspiring 🤩