7
votes

Can we update password for a User or Customer that already exists in Shopify using the Shopify API?

6
Doesn't seem like it. Should they not do it themselves? - Appleman
Hey @Appleman I don't know they do it or not,but I want to do it myself. And want to know the possibilities. Can you suggest something? - Pushpender Sharma
Mmm, I have gone through the API and don't see anything that can help. But I'll keep thinking and let you know as soon as I have a solution. - Appleman
thanks keep thinking,as you get solution please let me know :) - Pushpender Sharma
Yes, it possible using the customer ( help.shopify.com/api/reference/customer ) API. You will need to use third party API and private apps for the same. Using user email, you will need to find user ID using customers/search.json?query=email:'.$customer_email.' . After getting the id of customer you can update password by passing PUT request with customer id, password and confirm the password. I had implemented it for one of my client. I am 100% sure its possible, - SPViradiya

6 Answers

4
votes

The User endpoint is available for Shopify Plus stores, but it is currently read only - no user management is possible via this API

https://docs.shopify.com/api/reference/user

3
votes

Although the API documentation does not say anything about changing the customer password, you can do actually change the customer password using the PUT /admin/customers/#{id}.json endpoint. Note that my answer is only for customers and not for users.

I have tested it, successfully changed the customer password and log in on the store with the new password. During my tests I used a private app and a normal app both with successful results.

Example:

PUT /admin/customers/5206361102.json

Body:

{
  "customer": {
    "id": 5206361102,
    "password": "mypass2",
    "password_confirmation": "mypass2"
  }
}

If you need the customer id you can use the the GET /admin/customers/search.json end point to find it.

For example you can get the id from the results of this:

GET /admin/customers/search.json?query=email:[email protected]

Result:

{
  "customer": {
    "id": 5206556238,
    ... other parameters ...
  }
}

Thank you to @spviradiya for the comment that pointed me out to this answer, I have tested it and implemented it into my project.

2
votes
        PUT /admin/customers/#{id}.json
    {
      "customer": {
        "id": 207119551,
        "password": "newpass",
        "password_confirmation": "newpass",
        "send_email_welcome": false
      }
    }
0
votes

NO, its not possible for now in the normal shopify store API. May this type of feature they expanding in to the next plus version but to be honest Plus is costly so very rare people using it compare to normal shopify store.

0
votes

If You want to update password of your store's customer using shopify Api then yes it is possible. Here is Sample Code:-

$password = array(
          "customer"=>array(
              'id'=>$customerid,
              'password'=> $new_password,
              'password_confirmation'=>$confirm_password    

          )
      );
$customer = $shopify("PUT /admin/customers/$customerid.json" , $password);

You can update shopify store's customer password this way. But if you are talking about user then this API us only available for shopify plus store.check this link:- https://help.shopify.com/api/reference/plus/user

Thanks

0
votes

NO,

Still in 2019 it is not possible it is just read only. Even you can visit this link