Single customer owning multiple devices under different Particle Products

We are developing a product. As of now, it is a system of at least a P1 and two Photons.
Each device has a specific function, hence, we have made 3 separate Particle Products under the console so that we can rollout the 3 different firmware for the devices.
Consequently, when a customer avails of our product (the system of 3 devices), he/she will have to make a customer account for all three Particle Products.

I made a dummy account and was able to make it customer under our first Particle Product - the fleet of P1s.

For the next device (one of the remaining 2 photons), I was able to successfully create a new Particle Product in the console and add the device number of a photon in its list of devices. However, I was unsuccessful in claiming the said device under the same dummy account that I have used in our first product. It seems to me like an account is limited to a single Particle Product only.

Right now, since I cannot make yet our own softap pages to handle claiming of a device, what I did was to register in the console customer creation web apps with redirects to setup.particle.io/. So the customer opens the web app, provides his email and password, gets redirected to setup.particle.io/, logs in with his/her email and password, then downloads the local html file for claiming. Runs that html file and claims his device. He/she then becomes a registered customer under a Particle Product. This has worked for claiming the P1 under the first Particle Product, using the dummy account. But did not work for the next device - the photon.

I thought this might be caused by the claim code that the local html file gives to the device during setup. So what I did was to generate product specific claim codes and send it to the device (https://github.com/spark/softap-setup-js#configuration) instead (the device, by now, already knows my wifi network so no need to have a full setup). This worked. For new dummy accounts only. I was able to register a new dummy account under the photon Particle Product, request for a product-specific claim code, then send the claim code to the photon. When the photon went online, the new dummy account became a registered customer under the photon Particle Product. However, when I tried using the same dummy account I have used in the P1 Particle Product, following the same process, the said dummy account was unable to claim the device and, consequently, did not become a registered customer of the photon Particle Product.

So, after the long intro, which i hope made sense, my question is, is a single customer account allowed to own devices under different Particle Products?

If so, I would really appreciate if someone can help me find out where I am going wrong here.
It’s just that I do not have yet a full understanding and skill on using the SoftAP of photon that is why i have stick with work-arounds I have mentioned above for now.

Thanks in advance!

@rickkas7 are you able to help?

@KyleG @rickkas7 — I think we can help @engr.pron here. We can manually group all three products under the same organization. That way, a customer account would have access to all three products and the multiple claiming attempts would begin to work. This is something we’d have to do internally, but should unblock @engr.pron!

2 Likes

Jeiden,

Wow! (Sorry to have just replied now.)
Wait, let me clarify. So, so far, I have been doing things correctly (although inefficeintly), right?
And, it sounds like, this is something beyond my control, and you will be intervening and changing settings for my account internally.

Also, if I may ask, what is the difference between a product and an organization? The term “organization” seems to have been used before but not anymore. I don’t see much of this term in the Docs.

Lastly, I’d like to mention that we have a separate company Particle account where the products that gets to the customer are found. My account is more of a development and a experimental account. Our company’s account name would be info@novalte.ca

Thanks!

@engr.pron — yes, you are absolutely correct. You have been doing everything correctly. Organization was a concept that used to be more customer-facing, but is no longer so. However, on the back-end, all products belong to an organization. This functionality is just not exposed in the Console at the moment. We would manually intervene and associate your products with the same organization. That way, a customer record could successfully claim products across your products.

If you provide your Particle product IDs and names that you’d like grouped together, I can make sure that this gets done. Also, let me know what product you’ve created customers under thus far.

Thanks

Jeff

2 Likes

@jeiden Is this still possible or was this depreciated?

If I have two products but one app, if I create a customer can they access their devices from both products? This is with a simple authentication.

Hi, I did this some time ago, and since each product has different customers (even they have the same email address) I had to "fetch and compound" the devices from each product in the app itself.
Hope it helps!
Gustavo.

How were you able to keep the passwords synced?

Hi,

I "forced" the same password every time a customer would change it in the app.
So the customer sees "one change password" but in the background there were two happening, one per each product.

Now what your next question may be and the answer sucks is this:

What happens if the customer resets their password?
Then you need to find the answer in this other thread:

After that, I started creating all products with two-legged auth, since simple auth comes with... drawbacks and you still need some sort of backend to manage the password reset.
Ever since I started using Firebase (on Google cloud) with their auth, these problems went away, since now the google cloud manages the auth and passwords and not my app or the particle cloud (yes, the particle clouds needs a shadow customer, unless you claim all your Particle devices under one account and do the split/management on Google Cloud).

Let me know if you have more questions!
Gustavo.