Articles

ZohoDeluge: Get All eBay Orders Given a From and Till Date

What?
An article on how I can query all the orders for yesterday without using the eBay GUI Selling website.  I've included the code to parse out the information as well.

Why?
Because I need this function too often either for debugging/monitoring purposes but it's easier to use an access token then getting the OAuth access codes from the client.

How?
I'm going to split this into 2 code snippets that were in practice added to the same function and that worked at time of print.  Note that this uses the old Trading API as the new API is only available in Sandbox???  I won't go into how to generate an Access Token to your client's eBay store as that's covered in my article: Zoho Creator: Push to eBay Listings.
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 Deluge: Generate a loop or list of any size

What?
This is an article on a trick I picked up from one of our interviewees as well as apparently in one of the Zoho documentation manuals. It uses leftpad to create a string of a length, converts it to a list, then lets you generate an array or list of any size.

Why?
My use case here is to run a schedule that will populate a list with the upcoming dates for the next week (and for any numbers of weeks thereafter). This needs to be dynamic as it is a schedule run daily checking the availability of a staff member for the upcoming week.

How?
As mentioned, using leftpad takes 2 parameters, the first is the string to start with, the second is the number of spaces to pad with.
Zoho Deluge: Regex Rounding and/or Removing Trailing Zeros

What?
A very quick article on a cool snippet of code, another regular expression, I've been trying out to round up a number or at least to remove the trailing zeros. I could have added this to my Zoho Deluge - Some Useful Regular Expressions list but I felt this deserved its own article.

Why?
A client wanted the discount displayed on a template and if they gave 10% discount, it would display as 10.00%. And they need the decimal because sometimes they might offer 12.5%. But when it displays in a template, it isn't that pretty to look at: Instead, could they have 10% to display instead of 10.00%, and display 12.5% instead of 12.50%.

Well there might be a longer solution without using a regular expression (regex), as in check for the decimal point, check each digit thereafter to see if there are zeros... But I'm keen on avoiding using loops where possible so we don't breach a statement execution limit in the Zoho app function.

How?
If we're not going to use loops, then the next best thing I'm aware of is a regular expression.
Zoho Deluge: a HTML Entity Decoder

What?
A very quick article to document a HTML Entity decoder in Zoho Creator.

Why?
Sometimes when receiving data from a third-party, we may receive some strings containing "&" or " " and obviously want to display these as decoded HTML entities. (Zoho if you're listening) Ideally, Zoho may add this to their zoho.encryption namespace such as zoho.encryption.htmldecode(string). But at time of print, it doesn't exist and in the meantime, I've made a function that does this.

How?
Not sure how else to do this but I simply wrote a function in Zoho Creator for each instance that I knew a HTML entity would be submitted. So it doesn't decode every HTML in existence, only the ones I know will happen.

Zoho Deluge: Text (SMS) reminder using Twilio API (LocalSense)

What?
A very quick article to remind me how to send a text message using Twilio API in Zoho Deluge.

Why?
The use-case here is that we want local sense dialing where specific numbers are used both for outbound and inbound but local to the customer and we want to remind our customer that they have an appointment in 1 hour with us.

How?
The code is actually pretty straightforward but you will need to follow these steps to get the credentials:
Zoho Deluge: Calculate start and end of Daylight Savings Time

What?
An article to document how I calculated the start and end dates of when Daylight Savings Time is in effect.

Why?
Admittedly, most of Zoho apps have this built-in but here's some snippets of code in case you need them.

How?
I will use this to amend and refine but here's the snippets for the various DSTs around the world.
Zoho Deluge: Today, Tomorrow, Day After but Skip Sunday

What?
A very quick article with a snippet of code to get today's date, tomorrow's, and the day after's but it has to skip Sundays.

Why?
Wanting to create a schedule for availability over the next few days which needs to dynamically change. I am aware of the function .addBusinessDay() but that excludes Saturdays which my client still works on.

How?
We're going to get today's date, then use the .addDay(), check none of these are a Sunday, and move the next few days along: