Hello. I’m using xmlrpc to do things with orders, and the first thing I need to do is check whether an order exists, based on a custom field. We have a field named _AmazonOrderNumber and I want to query to see if a particular order number exists. How do I do that?
Unfortunately due to Custom Fields not being indexed (as they are backed by blob storage) there is no efficient way to filter a query by their value at the moment.
Hmm. So there is no way at all? I suppose this is why I could not find any sample code for such a thing. Is there any workaround? I can’t accomplish my mission without it.
If I was required to do something like that, I would set up a secondary database that would provide indexing as required, and just maintain the records in synchronization with the master system.
I guess I can set it up on our end to track which orders were inserted into Keap. I just find it hard to believe that we can’t access the data that’s going into the system.
Yes, you can absolutely modify the data stored! Some of our objects have REST-enabled endpoints, but all others can be accessed via the XMLRPC API until work is complete on enabling the full suite.
What Tom is on about is that if you have a large amount of Orders it may become time consuming having to search by the Custom Field. If you are doing a lot of look ups then it would be better to cache the Orders data into a Local Database where you can run your own database queries.