Customer Relationship Management Systems

Zoho Deluge: Shopify API: Get all active products with GraphQL and Pagination

What?
An article to resolve my frustration in being able to ONLY retrieve the first 100 products using GraphQL, so page 1 of Shopify products.

Why?
Our use-case is that we retrieve the 100 most recently modified products at the end of each day and run some Deluge code against it to ensure that the data in Shopify is the same as in Zoho. In this case, Shopify is considered the source of truth and Zoho is the data to be overwritten, ensuring that Product IDs, Variant IDs, Inventory IDs, Current Selling Price, Inventory Level, and Barcode all match.

Our problem is that sometimes more than 100 products are modified in a day... We need to be able to do more than 100 or at least resume from a record... We need pagination.

How?
To resolve this, I'm building on top of my initial GraphQL query which will now retrieve 10 products per page and loop through 3 pages for use in Zoho Deluge. If this works, we can increase the number of pages as well as the number of products per page:
Zoho Projects: Deluge to Submit Custom Fields

What?
A super quick article to demonstrate an example where we create a project with custom fields.

Why?
At time of print, the documentation on the Projects API would only show responses rather than requests. Sure it lists fields that are required in the request but not a sample request packaged to be sent.

How?
Let's assume that my custom fields have as identifiers UDF_CHAR8 (which is a Zoho ID) and UDF_CHAR7 (which is a text/string name field).
Zoho Deluge: Zoho Bookings Get Available Slots

What?
This is an article of code snippets to query a Zoho Bookings instance from within Creator. This one focuses on getting the available slots.

Why?
This is for a Creator app which had a form to allow customers to make a booking based on the configuration and appointments in a ZohoBookings instance.

How?
The getAvailableSlots function requires as parameters according to documentation
Zoho Creator: Receive JSON via a Shopify Webhook

What?
This is an article to document how to receive a JSON response from a webhook created in Shopify. See my article: Zoho Deluge: Push Item to Shopify API if you want information on setting up an integration from Zoho Creator to Shopify API.

Why?
In this example, we want a webhook that whenever an order is made in Shopify, it tells our Zoho Creator app. Note that at the time of this article, API v1 is deprecated (so no authtokens) and API OAuth2.0 is in full swing... we're still going to cheat.

How?
1,2,3 steps really. First we're going to set up a Creator form to receive the JSON. Secondly, we'll create the endpoint URL for the webhook. And thirdly, we'll create the Shopify webhook.
Zoho CRM & Zoho Creator: Query returns some fields missing other data on the record

What?
A super quick article to demonstrate how an idiot like myself can misread the documentation. This particular article shows you how to customize the search results or response from using zoho.creator.getRecordById().

Why?
My use case scenario is that I was trying to build a related list in Zoho CRM with a view on to related records in Zoho Creator. For some reason, only some random fields were being returned, all pretty much useless to me. Well the "for some reason" turned out to be because my detail view on the report was displaying a report/document template.

How?
The quick answer is:
Add the fields you want to the detail view of the report you are accessing.
Zoho Creator - GetRecordByID or SearchRecords missing data - Quick Answer
Zoho Creator: Assign an integration field value with an integration value

What?
This is a quick article to help anyone encountering this gotcha: I have an integration field, if someone changes it, I want to save the value to the record immediately.

Why?
If you try to update an integration field via deluge with another integration field or even the same integration field, it will return an error
Unable to update the value to r_RecordDetails.Account. Line:(442)

How?
It is written in the documentation albeit difficult to find: an integration field returns an ID as a string. If you want to assign it to an integration field, you have to convert it to a number with .toLong().
Zoho Creator: Two submit buttons on a non-stateless form with 2 different redirects

What?
This is an article to document how to have two submit buttons on a non-stateless form which both submit the form but one leaves the current record open while the other redirects to the reports view.

Why?
A client wanted a "Save" button on their form as well as a "Save & Close" button. The "Save" button would submit the form but keep the user on the record form. The "Save & Close" button would submit the form and then redirect the user to the report view of the records.

Zoho Creator: Two submit buttons on a non-stateless form: Result

Sounds simple but you can only set a form to redirect to one link and adding a HTML anchor link (<a href>) to the page won't help as you need to submit the form before redirecting the user.  A HTML <input type=submit> element to the page won't help either as you need to redirect the user to the specified report after submitting the form.

How?
Well as always, I'm going to cheat. My solution here was to simply repurpose a decision box field in Creator; then re-style it to look like a button; then add a workflow on click of this field.
ZohoCRM: zoho.crm.searchRecords only returns certain records

What?
This is an article to hopefully resolve for you quicker than it took me, why a zoho.crm.searchRecords() returns some of the records but omits others.

Why?
The use-case was that we were creating a custom related list on a Zoho Finance > Sales Orders module but it wasn't finding all the Quotes related to this Sales Order.

How?
The quick answer is buried in Zoho documentation and due to the searchRecords function requiring it's 5th parameter which defaults to "not converted" records:
<variable>=zoho.crm.searchRecords(<module_name>,<criteria>,<page>,<per_page>,<search_value>,<connection>);

Credit where Credit is Due:


Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.

Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.

Thank you for visiting and, as always, we hope this website was of some use to you!

Kind Regards,

Joel Lipman
www.joellipman.com

Accreditation

Badge - Zoho Creator Certified Developer Associate
Badge - Zoho Deluge Certified Developer
Badge - Certified Zoho CRM Developer

Donate & Support

If you like my content, and would like to support this sharing site, feel free to donate using a method below:

Paypal:
Donate to Joel Lipman via PayPal

Bitcoin:
Donate to Joel Lipman with Bitcoin bc1qf6elrdxc968h0k673l2djc9wrpazhqtxw8qqp4

Ethereum:
Donate to Joel Lipman with Ethereum 0xb038962F3809b425D661EF5D22294Cf45E02FebF

Joes Word Cloud

Please publish modules in offcanvas position.