What?
A quick article to take a list of options from a HTML select element and convert to a Zoho Deluge list that will eventually be used to populate a dropdown.

Why?
Because I find myself doing this quite a bit and wanted a quick way of extracting a SELECT list in someone else's form.

How?
So, let's copy the HTML select into a text editor, then escape the double-quotes, then prepend with a list declaration and append with a end of list suffix; loop through removing HTML tags and while we're at it, storing it in a list for Zoho Deluge:

What?
This is an article to document how I downloaded an image held in a Zoho Creator form, and sent it to an API wanting the publicly accessible link or URL of the image.

Why?
I've got some other articles on handling images in Zoho Creator (see "Sources" below), the most relevant one being my article Zoho Deluge: Get Image Uploaded in Creator Form which has one method of getting a public link.

My use-case scenario here is that while I could upload the link from Creator to eBay's Picture Services successfully, Shopify would not accept any links I gave it. Why not use the links that eBay returns? Well eBay returns URLs to images that have been resized to 400x400 (even with tweak to return 800x800). I wanted a way to upload my image directly to Shopify in 3024x3024 resolution (or the size that the client wants: iPhone res). I then found that Shopify does accept a Base64Encoded version of the image and the below is how I achieved this.

How?
First-off, let me list the various formats that Zoho Creator says that public link exists.

What?
This is an article to document a function used in Zoho Creator to retrieve the Product IDs of all the active products in a client's eBay store.

Why?
The use-case was that I wanted to retrieve a list of all the listed active products in a fixed price item listing. The example below is a function which, if given the page number and the number of entries per page, returns these in JSON as a Zoho Map datatype.

How?
I'm not going to go into detail on how I create an access token to query the eBay Trading API as you can read this in my article: Joellipman: Zoho Creator: Push to eBay Listings.

What?
This is an article to document a function used in Zoho Creator to retrieve the Product IDs of all the active products in a client's Shopify.

Why?
The use-case was that I wanted to search Shopify using a Product SKU. Community forums could only suggest looping through all the products.

I then felt that actually I just need the Product IDs. This method could do with some refinement and perhaps if I find a better way to do this, then I'll put it here. But I like this snippet of code albeit a brute force to loop through every active product and list their IDs.

How?
So here's the function I came up with. It loops through a maximum of 2500 products sorted in order of ID ascending (starting with ID=0) retrieving 250 per call and using since_id to not list the same one twice.

What?
This article demonstrates how to return a list of unique values in a particular field in a CRM module.

Why?
My use-case is a data-migration where the records exist in a staging module in CRM but I want to transform/translate one of the column values into the target

How?
So this is my plan:
  1. Setup a connector to CRM with the scopes ZohoCRM.coql.READ and ZohoCRM.modules.ALL
  2. Build up a SQL query, or more specifically, a COQL - CRM Object Query Language
  3. Try using distinct on a single-line text field
  4. Adapt the query for unique values in a lookup field

What?
I probably won't forget this but just in case I do, this is an article to explain how I got the shipping address from a sales order in Zoho Books into the template of the Package Slips.

Why?
It took me a while of playing about with the placeholder reference fields in the template before Zoho advised on a 'hidden' away setting which was key to changing what these display.

What I had:
copyraw
${CONTACT.CONTACT_DISPLAYNAME}
${CONTACT.CONTACT_ADDRESS}
${CONTACT.CONTACT_CITY}
${CONTACT.CONTACT_CODE} ${CONTACT.CONTACT_STATE}
${CONTACT.CONTACT_COUNTRY}
  1.  ${CONTACT.CONTACT_DISPLAYNAME} 
  2.  ${CONTACT.CONTACT_ADDRESS} 
  3.  ${CONTACT.CONTACT_CITY} 
  4.  ${CONTACT.CONTACT_CODE} ${CONTACT.CONTACT_STATE} 
  5.  ${CONTACT.CONTACT_COUNTRY} 
and in my Sales Order:
copyraw
BILLING ADDRESS          SHIPPING ADDRESS
-------------------      -------------------
Test Company             Joels PO Box
1 Test Street            1 Different Street
Test City                Another City
Test State Test Zip      Another State Another PostCode
Test Country             A different Country
  1.  BILLING ADDRESS          SHIPPING ADDRESS 
  2.  -------------------      ------------------- 
  3.  Test Company             Joels PO Box 
  4.  1 Test Street            1 Different Street 
  5.  Test City                Another City 
  6.  Test State Test Zip      Another State Another PostCode 
  7.  Test Country             A different Country 
But the packing slip would display the Ship to address as the same as the billing address... Or more specifically, the primary contact, company, address and phone from the customer record and not from the sales order change.

How?
The key is a setting you need to change by going to Settings > Preferences > Packing Slip Settings > and Enable "Delivery To":
Category: Zoho :: Article: 775

What?
A quick article to remind me on how to upload a photo using CRM API v2. Yes it's documented and yes it still confuses me now and again. So I'm writing this to remind me and to keep reminding me of how to do this.

Why?
My use-case is that I have a photo in Zoho Creator but the source doesn't really matter as the part I struggled on was uploading it to CRM. I want to update the photo in the CRM record.

How?
So we have to do the usual which is download the photo using invokeUrl then we set the paramname not to attachment but to file. We then use another invokeUrl to upload the photo to CRM:

What?
A quick note for when I want to quickly generate maps of a currency or a tax from a client's Zoho Books.

Why?
The use-case here is that we are creating a Sales Order in Zoho Books from Zoho CRM and want to map the correct currency and tax by their ID numbers.

How?
Using the REST API and InvokeURL in Zoho Deluge to look at Zoho Books. This uses up an extra 2 calls so you could run them once, store them as a map on your function if you don't want to use up these 2 every time your sales team push a CRM Sales Order to Zoho Books.

What?
An article to note something I didn't realize I needed: How to address the above error and how to update a Shipping Address for a specific Sales Order in Zoho Books.

Why?
You might think the following request to create a Sales Order in Zoho Books would be enough:
copyraw
{
  "date": "2021-09-08",
  "zcrm_potential_id": "123456789012345678",
  "currency_code": "GBP",
  "reference_number": "Salespersons Test Reference",
  "terms": "These are our test terms and conditions",
  "customer_id": "234567890123456789",
  "payment_terms": 30,
  "salesperson_id": "345678901234567890",
  "line_items": [
    {
      "item_id": "456789012345678901",
      "discount": 0,
      "quantity": 1,
      "description": "A test product description"
    }
  ],
  "shipping_address": {
    "address": "Test Street",
    "street2": "Test Street 2",
    "city": "Test City",
    "state": "Test State",
    "zip": "Test Postal Code",
    "country": "Test Country"
  }
}
  1.  { 
  2.    "date": "2021-09-08", 
  3.    "zcrm_potential_id": "123456789012345678", 
  4.    "currency_code": "GBP", 
  5.    "reference_number": "Salespersons Test Reference", 
  6.    "terms": "These are our test terms and conditions", 
  7.    "customer_id": "234567890123456789", 
  8.    "payment_terms": 30, 
  9.    "salesperson_id": "345678901234567890", 
  10.    "line_items": [ 
  11.      { 
  12.        "item_id": "456789012345678901", 
  13.        "discount": 0, 
  14.        "quantity": 1, 
  15.        "description": "A test product description" 
  16.      } 
  17.    ], 
  18.    "shipping_address": { 
  19.      "address": "Test Street", 
  20.      "street2": "Test Street 2", 
  21.      "city": "Test City", 
  22.      "state": "Test State", 
  23.      "zip": "Test Postal Code", 
  24.      "country": "Test Country" 
  25.    } 
  26.  } 
However, if you try forcing the billing or shipping address in you should get the following error:
Please ensure that the shipping_address has less than 100 characters.

How?
If you get the above error, the community forums will advise you to get the ID of the Shipping Address...
Category: Zoho :: Article: 772

What?
This is an article to document how I got a client's eBay to notify the seller every time a buyer bought a fixed price item. This uses the Trading API even though I'm aiming for the Platform Notifications API...

Why?
A follow on from my article Zoho Creator: Push to eBay Listings. I have a Creator app that needs to receive the orders from an eBay account as soon as the order or transaction is made on a Fixed Price item.

How?
So first of all, you'll need an access token: please visit my article and read the first part on how to get a valid Access Token for the rest of these steps. Once we have an access token, we will check what notifications already exist (if any), and then we will create a function that subscribes the application so that any order is sent to a URL, specifically a CRM REST API function that will forward the payload data to Zoho Creator (Yes you will need CRM version Enterprise or Zoho One [that supports functions] for this process).

What?
This article serves as a best practice and reminder to myself on how to stop endless loops from happening in Creator and crashing the application. This is more for complex Creator forms which have workflows triggered from many deltas/changes.

Why?
Some clients have referred to this as the "spinning circle of death": they load up a Creator application or change a field and there will be a spinning icon indicating that the field has triggered an automation/workflow but it keeps spinning and doesn't stop. The app page will ultimately timeout and when reloading the form it simply displays a blank page. Their only workaround is wait about 30 seconds or more for the loop to automatically cut out and then they can use the interface again only to find it may crash again.

Zoho Creator: Prevent Endless Loops On User Input of a Field

In the background and from a developers understanding: field1 is told to update field2 when field1 is changed. When field2 is changed, it is told to update field1. This causes a recursive or endless loop where each field triggers an workflow/automation, even if the value has not changed, to modify another field and vice-versa. This can get more complex when there are a lot of fields in the mix.

How?
I'm using this article to go through various methods I tried to prevent this from happening:

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

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