What?
A quick article on retrieving all the products from a WooCommerce instance on a client's Wordpress website.

Why?
A client of ours wants the information entered against products in their WooCommerce to display on their estimates in Zoho Books; such as product image, product name, product description.

Granted that in some cases, the design should go in the other direction, as in enter the products in Zoho Inventory and this feeds the website. More than often, however, this request comes in when the customer has already been setting their Zoho environment up and the Wordpress site has the more information.

How?
So first, this article shows you how to setup an API connection, and then we'll include the code to count the total number of products, and then finallly show the code to loop through all the pages to retrieve every product from the WooCommerce system.

What?
This is a quick article on generating a file with the Zoho Deluge function .toFile() and uploading it to a file upload field within Zoho Creator.

Why?
The use-case here is that we want a file to be hosted within Zoho Creator for use by a JS widget that will download the CSV (in this case a Text *.txt) file for use by a dynamic auto-suggester dropdown; one of those fancy ones that includes photos and a bit of fuzzy logic.

What?
A follow on from my article Zoho Creator: Create a Widget which uses JavaScript back from 2020 with a few adjustments now in 2024.

This widget will only work within Zoho Creator. If you want a solution which sits on an external website and which talks to Zoho, then setup an externally hosted web app with the usual JavaScript frameworks and have it send AJAX commands to a server which reads/writes information to your Zoho instance via API. No need for the Zoho Widget SDK.
Why?
At time of print, I felt the documentation was a little sparse on how to connect a JS widget to the data held in Zoho Creator. Having this example for future use might save me some time. The following is the early version of a JS widget used for a customer and before I added all the layers of complexity, I want to have here an example that demonstrates a basic search on a table of data and returns one record as a result.

The use-case here is that we are enhancing a quote builder form in Zoho Creator. The JS widget (aka the Quote Builder) will need to post a new quote to the system as well as show previous orders.

How?
We're going to use the Zoho Extension SDK. You should refer to my previous linked article but the revised instructions here should also help. Then lastly, I'll post the snippet of code using in the widget to connect to Zoho based on a parameter passed in the URL that a Zoho Creator Page can receive and pass to the JS widget.

What?
A quick article on how to get around this error.

Why?
The use-case here is that I am using the send invoice API and I kept getting this error despite including the customer_id and there was a primary contact on the customer record.
This is from within ZohoCreator, requesting for an invoice in ZohoBooks to be sent.

How?
So the key here is that there were no contact persons on the customer record. Instead, when building the invoice, this had to be added (don't ever remember having to do this) as contact_ids (array/list). Instead the below script will show you how to use this API having a few email addresses as the recipients:

What?
This is an article just repeating a script from the Zoho Kaizen series allowing a confirmation box (something lacking in Zoho Creator - but that every app outside of Zoho has) as well as a popup to email from CRM with a rich-text interface.

Why?
The use-case here is non-existent. It's more of a play around to see what can be achieved and how much this can be customized. The task I've set for myself is as follows:
  • Trigger if the contact record has a tickbox called "Extra Confidential" ticked/checked=true
  • Popup a confirmation box to proceed or cancel.
  • Popup the email from CRM mailer with the to email address, bcc, subject and message content already populated.

How?
The example from the Kaizen series uses a record with canvas mode applied; but I wanted to try it without a canvas to see if we can have this functionality using the out-of-the-box ZohoCRM.

What?
This is an article to document how to produce a report which when exported to PDF will display images without a user wall.

Why?
Our client needs to send a report to suppliers that include photos of the faulty products. These display fine in a Zoho Creator report and even show up on the preview when exporting to PDF. But when you download the PDF and view this outside of the Zoho instances, the photos don't display.

This is because the photos were just links in the Zoho Creator image field, links to another Zoho app that is behind a user wall (ie. login and password as a Zoho User).

How?
So I'll go over what happens in the real world process; then cover some technical information; and even include the function that makes it work:

What?
This is an article detailing the client script to fix any fields which exceed their decimal places limit in ZohoCRM.

Why?
So we have a customer that has some decimal fields on the products module that are calculated and will sometimes return numbers with more than 6 decimal places. As this is more than specified on the ZohoCRM field properties, as soon as the staff user tries to save the record, they will get a validation error on the decimal field even if that's not the field that is being changed:
Decimal places for the Unit Price field should be less than or equal to 6
.
Joellipman.com - Decimal places for the Unit Price field should be less than or equal to 6


How?
The workaround for staff is to round this up manually and then save the record. But this can be an annoying overhead, especially if it can be auto-corrected with a client script.

What?
A quick article with the code to download image attachments from a Zoho Ticket and then to upload the attachment to Zoho Analytics.

Why?
First of all, we couldn't find how to sync attachments from ZohoDesk to ZohoAnalytics using the integration. Other tables will sync but we couldn't find attachments, so our solution here is to create a data table and then to push the attachment from ZohoDesk to ZohoAnalytics using the API.

The use-case here is that a client wants customers to submit ZohoDesk tickets and upload photos of the problematic product to the ticket. They then want an Analytics report to show these photos.

How?
The following is simply the steps to create a data table in ZohoAnalytics, then the code to list a ticket's attachments and push them to the ZohoAnalytics data table.


What?
This is an article to show you how to, using Deluge code, generate all the email signatures in the user profile in ZohoCRM.

Why?
To simplify the on-boarding process. A client of ours has a rather rich HTML email signature with a profile photo included. When sending an email from CRM, they want CRM to include this rich signature (different per user) at the bottom of the email message.

How?
So there are a few issues with displaying images which would have other solutions, such as hosting the images on a web-server, or converting to a base64 or an SVG. ZohoCRM signatures seem to be unable to handle a lot of code or long URLs such as a base64 source URL for an image.


What?
An example of code using the new API call "Module Record Count" with some criteria.

Why?
At time of print, I couldn't find an example of how to use this API call with search filters or criteria. Not sure about the rest of you, but I've been using this for pagination purposes and for the system to work out how many pages or loops in total it would need to do.

How?
Here's a couple of working examples I use in production systems:

What?
A collection of code snippets I seem to be regularly using to generate a dynamic map of system values held in a ZohoBooks instance.

Why?
Rather than hard-coding and having a ton of if..then statements, I can feed these maps a textual value and it returns the ID to use. Some of these can be found elsewhere in my site but I'm putting all of them here just for quick reference.

How?
Note that for the below, the Top Level Domain (or Zoho DataCenter) is EU rather than the COM.

What?
A super quick article on how to pre-select the pipeline on deal creation within CRM based on the department specified on a user's profile.

Why?
A client asked that when staff create a deal/opportunity record in CRM, the pipeline is automatically pre-selected based on the user.

How?
So there's a bit of a pre-amble for setting up the fields, we'll then use a client script to automatically read the user's record, retrieve the department, and set the correct pipeline option.

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

RSS Feed

Related Articles

Joes Revolver Map

Joes Word Cloud

error   deluge   order   function   version   parameter   user   name   form   used   note   using   google   time   creator   need   database   case   files   following   license   windows   display   value   script   system   list   zoho   server   first   report   would   file   joomla   where   code   table   data   find   client   work   mysql   page   added   date   create   field   source   uploaded   website   JoelLipman.Com

Accreditation

Badge - Certified Zoho Creator Associate
Badge - Certified Zoho Creator Associate

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
© 2024 Joel Lipman .com. All Rights Reserved.