Retail API issue

in Development
Hi,
I am using API to retrieve ItemMatrix data in json:
What works:
ItemMatrix/6477.json
ItemMatrix.json?itemMatrixID=6477
ItemMatrix/6563.json
However, if I am requesting ItemMatrix.json?itemMatrixID=6563
which should give me the same object as the last request above I receive:
{ "@attributes": { "count": "0" } }
Looks like all the ids above a certain one will not be retrieved using the itemMatrixID=... form
Best Answers
-
LucienVersendaal Moderator, Lightspeed Staff Posts: 656 moderator
Okay I see, the ItemMatrix with ID 6563 is archived
Answers
If you look at the API docs (https://developers.lightspeedhq.com/retail/endpoints/ItemMatrix/#get-all-items-matrix) you will see the URL format that's expected. If the one specified works then why are you trying the query parameter custom URL that's not even listed? Stick with what works, right?
Unless I am doing something wrong this is a serious bug.
I am not trying to get all items, I am trying to get one item by ID. Please look at my queries again.
ItemMatrix/6563.json works but ItemMatrix.json?itemMatrixID=6563 does not. How can this not be a serious bug?
Also, for another id, both types of queries work. I got the problem in the first place when a query with several IDs using IN (itemMatrixID=IN,[1,2,3]) used to work (and it is still working for lower IDs) but stopped working starting higher ID numbers.
Hi @rif,
This is not a BUG. When you want to get a single item matrix please use the convention the API is expecting and our docs are telling you. For getting a single item matrix you need to use this convention:
I hope this helps.
So using queries like itemMatrixID=IN,[1,2,3] or getting an item matrix by any other field are not supported?
Is the fact that ItemMatrix.json?itemMatrixID=6477 works, just an unsupported/unreliable feature?
I just tested it out end
itemMatrixID=IN,[1,2,3]
is working on my end.What do want to achieve?
That's what I am saying searching for ItemMatrix by itemMatrixID works for some ID but does not for others (using IDs from my account):
ItemMatrix/6477.json - works
ItemMatrix.json?itemMatrixID=6477 -works
ItemMatrix.json?itemMatrixID=IN,[6477] - works
ItemMatrix/6563.json - works (important)
ItemMatrix.json?itemMatrixID=6563 - doesn't work
ItemMatrix.json?itemMatrixID=IN,[6563] - doesn't work
Looks like that after a certain ID I can no longer use the itemMatrixID=... or itemMatrixID=IN,[...] queries
can you share me your accountID?
Sure, 188905
OMG, I did not notice!
So getting ItemMatrix/6563.json works because it does not care about archived=True, I see now.
Totally my bad, sorry for wasting your time!
Thank you