Zoho Deluge: Get the Week Number if Week starts on a Monday
- Category: Zoho Deluge
- Hits: 25614
A quick article on determining the week number of the year if your week starts on a Monday and not a Sunday.
Why?
I think it's the US system which generally says that a week starts on a Sunday but in the United Kingdom, the week generally starts on a Monday. So let's say there's a schedule that has to be run weekly and include all the orders of a specific week...
Just to confuse everyone in the world, the day index for a Sunday is 7 (ie. myDate.toString("u") returns 7) and the week commences on a Sunday (ie. myDate.toStartOfWeek("EEEE") returns Sunday). In other words, the day counting starts at 7, followed by 1 for Monday, 2 for Tuesday, and so on...
How?
The logic behind this would be to take the date of the order, check if the order date is a Sunday, subtract a day, and return the week number:
Zoho Deluge: Determine if Daylight Savings are in effect
- Category: Zoho Deluge
- Hits: 19226
If you're lucky enough to build an application for a client based in a country that changes its clocks twice a year, then I'm opening this article without a 100% certain solution as I need to wait about 4 months until I can confirm this works.
Why?
I've covered this before in a fair few articles on this website but for clients in the US, where there could be 4 different timezones between customer, agent, HQ, server; we would create a separate table to manage this data. I can't do this for every client, so here's a quick snippet to just check if Daylight Savings are in effect for the United Kingdom.
How?
Based on the fact that the United Kingdom is on the Prime Meridian and when no daylight savings are in effect, the hour difference to UTC (Coordinated Universal Time) should be zero, then for checking if daylight savings is in effect in the UK, we should be able to take Greenwich Mean Time and compare to UTC.
Zoho Deluge: Get All Orders from eBay
- Category: Zoho Deluge
- Hits: 29437
Following on from my article: ZohoCRM: Get All eBay Active Listings, this is how to get all the orders from a client's eBay.
Why?
Our use-case is a data migration from eBay to a fresh instance of Zoho Inventory. In this task, we are simply getting a CSV with all the order IDs for a particular year output as a spreadsheet.
How?
Similar to how we retrieved the eBay active listings (see article link above), we're going to use the GetOrders call for order (sales) management.
ZohoDeluge: Check Shipment Status via DHL API
- Category: Zoho Deluge
- Hits: 35521
A quick note here on how to connect to the DHL API and check on a package given a tracking number.
Why?
In our megafunction to generate a customer, a product/item, a sales order, an invoice, a package slip/delivery note, a shipment order; as well as record any payments, inventory adjustments, status changes; all from an eBay Order coming into the system via a webhook... I would like to mark a shipment as delivered only if the courier, in this case DHL, confirms the tracked order was delivered.
How?
So first I'll give some brief instructions on how to get an API key from DHL as a developer and then I'll include the code to query the shipment status based on a tracking number.
ZohoDeluge: Inserting a new line character in a CSV
- Category: Zoho Deluge
- Hits: 20181
A super quick article on something that almost deserves its own article: using new lines in ZohoDeluge.
Why?
My use-case here is that I was generating a comma separated values (CSV) file given some lists and strings and although the same code worked great on one Zoho CRM, another client's ZohoCRM was not accepting "\n" as a new line character and instead would render/display it as "\n"...
What I have
Me,Myself,I\na,b,cWhat I want
Me,Myself,I a,b,c
How?
So in this article I just want to list some various methods of inserting a new line character.
ZohoDeluge: Get All eBay Orders Given a From and Till Date
- Category: Zoho Deluge
- Hits: 29784
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
- Category: Zoho Deluge
- Hits: 40360
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
- Category: Zoho Deluge
- Hits: 27500
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.

