Kaizen #7 - URL Encoding while making API Calls

Kaizen #7 - URL Encoding while making API Calls

Welcome to another week of Kaizen. In this post, we will discuss things you need to handle in your code before you start making API calls to Zoho CRM. 

If you have an application that is integrated with Zoho CRM, it will contain the code for making API calls with different request methods—GET, POST, PUT, and DELETE. We will explain the things you need to handle for each of these methods, before you use it to make API calls to Zoho CRM.  

a. GET method

A GET method is used to retrieve data/resource from the resource server. For example, Search Records.

For the GET method, you need to pass data as a parameter in the request URL, and that parameter value has to be URL encoded. 

URL encoding is a way to encode or escape reserved, unprintable, or non-ASCII characters in URLs, and convert them into a secure format. 

Consider the following example, when you try to search a lead record with an email ID(p.daly+demo1@zylker.com).





When this request URL is decoded in our end, it gets converted into:

The '+' character got decoded as 'space'. Because, the '+' character is valid in URL as a substitute for space. Therefore, they have to be encoded or escaped. If not, the URL might be misinterpreted while decoding it. 

Unsafe characters that you need to encode are the following.
  • ASCII Control characters:
    ISO-8859-1 (ISO-Latin) character ranges 00-1F hex (0-31 decimal) and 7F (127 decimal.)
  • Non-ASCII characters:
    Entire “top half” of the ISO-Latin set 80-FF hex (128-255 decimal.)
  • Unsafe characters
    Blank/empty space and " < > # % { } | \ ^ ~ [ ] `
  • Reserved characters when NOT USED for their reserved or defined purposes such as / ? : = &.
Based on your language, you can use the following methods to encode the reserved characters. 

Language
Script
Java
URLEncoder.encode("(p.daly+demo1@zylker.com)", "UTF-8");
Ruby
URI::encode("(p.daly+demo1@zylker.com)")
PHP
Python
urllib.parse.quote("(p.daly+demo1@zylker.com)".encode("UTF-8"))

After encoding, the resultant search query will have the following email ID—p.daly%2Bdemo1%40zylker.com



The corresponding cURL code for this operation is:
curl -X GET \
-H 'Authorization: Bearer 1000.b481413bedf852e81bf591e7ca769de8.85f9671a36047d740216b656c8b3ad4d' 

You can see that the data in the URL is encoded. 

b. POST/PUT method

POST method is used to insert or upload any new resources to the server. For example, Insert Records.

PUT method is used to update an existing resource. This replaces the target resource with the updated content. For example, Update Records.

You can pass the input data for an API call in different ways, based on API requirements. 
  • Sending data as parameter in the request URL
  • Sending data wrapped in a request body
Let us look into each of these methods.  

a. Sending data as a parameter in the request URL 

As mentioned in the earlier section, when you send data as a parameter in  the request URL, it has to be encoded. 

b. Sending data wrapped in a request body

When data is sent in request body, it is secure. There are two different methods  in which you can send data wrapped in a request body, for an API call. Based on  the API requirement, you can choose the appropriate method. 

  • Sending data as raw JSON in the request body 
    In this type, the data is sent as JSON in the request body. Here, you need to add the header 'Content-Type' as 'application/json'. When data is sent as raw JSON, it need not be encoded
  • Sending data as a key-value pair 
    Here, the data is given as key-value pairs. For instance, while you upload an attachment, you need to send the file data, for which you need to make the request with 'Content-Type' as 'multipart/form-data'. Here the data is wrapped in request body. Therefore, it need not be encoded. If the data you have is already encoded, you must use the 'application/x-www-form-urlencoded' content-type and you cannot send file data with this content-type.



Consider the following example of inserting leads.



The corresponding cURL code is:
-H 'Authorization: Bearer 1000.b481413bedf852e81bf591e7ca769de8.85f9671a36047d740216b656c8b3ad4d' \
-H 'Content-Type: application/json' \
 -d '{
    "data": [
        {
            "Company": "Zylker",
            "Last_Name": "Daly",
            "First_Name": "Paul",
            "Email": "p.daly+demo1@zylker.com",
            "State": "Texas"
        },
        {
            "Company": "Villa Margarita",
            "Last_Name": "Bran",
            "First_Name": "Hofstadter",
            "Email": "bran.h+demo2@villa.com",
            "State": "Texas"
        }
    ],
    "trigger": [
        "approval",
        "workflow",
        "blueprint"
    ]
}'

You can see that the data is not encoded.

c. DELETE method

DELETE method is used to delete a resource at a particular location. For example, Delete Records.

URL encoding for the DELETE method is the same as the GET method. Consider the following example of deleting leads. 

Encoded request URL:



We hope you found this post useful. Keep a tab on this series for more exciting topics!

Reach out to us at support@zohocrm.com if you have any questions, or let us know in the comment section.

Cheers!



















    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner







                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

                                                                                                Writer is a powerful online word processor, designed for collaborative work.

                                                                                                  Zoho CRM コンテンツ




                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Create formula calculations in Assemblies for scaling quantities

                                                                                                                  Something we have been encountering with our composite items is dealing with scaling of quantity of one or more items within the composite assembly relative to the number of complete units being sold. I.e. running the equation 2(n-1) on one of the assembly
                                                                                                                • ZOHO CRM Quote Export / Quote Report

                                                                                                                  How can I either Export my quote list, or create a Report that shows all quotes AND includes the NOTES field in a column. I attempted to Run a Report which includes ALL FIELDS, however it does not include the Notes Field (but oddly does include the fields
                                                                                                                • Calculate Hours Minutes Sec in Zoho Creator Using Deluge

                                                                                                                  check_In = "8-Aug-2023 10:00:00".toDateTime().toLong(); checkout = "8-Aug-2023 18:00:00".toDateTime().toLong(); //difference = start.timeBetween(end); check_In = "8-Aug-2023 17:56:50".toDateTime().toLong(); checkout = "8-Aug-2023 18:00:00".toDateTime().toLong();
                                                                                                                • Build Smarter Apps with AI in Zoho Creator

                                                                                                                  Build Smarter Apps with AI in Zoho Creator This is truly the era of AI, and businesses that adapt now will lead tomorrow. Zoho is already moving ahead in this direction, continuously evolving its platform with powerful AI capabilities. With Zoho Creator,
                                                                                                                • Zoho Recruit - Email Relay

                                                                                                                  Good day, Has anyone succeeded in setting up an email relay for Office 365? If I add the details from https://support.microsoft.com/en-us/office/pop-imap-and-smtp-settings-8361e398-8af4-4e97-b147-6c6c4ac95353, I get the connection error. Regards, Eka
                                                                                                                • Zia Dashboard Insights : turn your dashboard into decisions

                                                                                                                  When you look at a chart or KPI in a dashboard, you would possibly see something like: Revenue: $2.4M ↓ 18% vs last month. It can be a positive growth or a negative one, or a dip in revenue, a spike in deals, a slowdown in renewals—all you usually see
                                                                                                                • Tickets without registration

                                                                                                                  Hi, would it be possible to give customers the opportunity to be able to read their tickets without registration?
                                                                                                                • Zoho Desk Answer Bot vs. Zia Agents – Knowledge Base & Ticket Access

                                                                                                                  Hi everyone, I’m currently evaluating AI options in Zoho Desk and ran into some limitations with the Answer Bot: Answer Bot limitations Only uses Knowledge Base articles No access to tickets Limited control over sources: Either one Help Center or all
                                                                                                                • Como estruturar automações eficientes no Zoho Creator

                                                                                                                  Como estruturar automações eficientes no Zoho Creator Introdução No contexto de aplicações empresariais, automação não é apenas uma conveniência, é um fator crítico para ganho de produtividade, redução de erros e escalabilidade operacional. O Zoho Creator
                                                                                                                • Changing the status of a work-order

                                                                                                                  Is there a way to change the status of a work-order?
                                                                                                                • Trigger workflows from SLA escalations in Zoho Desk?

                                                                                                                  Hey everyone, I’m currently working with SLA escalation rules in Zoho Desk and ran into a limitation that I’m hoping someone here has solved more elegantly. As far as I can tell, SLA escalations only support fairly limited actions (like changing the ticket
                                                                                                                • What is a realistic turnaround time for account review for ZeptoMail?

                                                                                                                  On signing up it said 2-3 business days. I am on business-day 6 and have had zero contact of any kind. No follow-up questions, no approval or decline. Attempts to "leave a message" or use the "Contact Us" form have just vanished without a trace. It still
                                                                                                                • Zia Agents in Zoho CRM: a better way to set up digital employees

                                                                                                                  Hello everyone, If you've been using Zia Agents in Zoho CRM, so far using Connections was the only deployment method you're familiar with. You create an agent in Zia Agents (define its objective, write instructions, use tools, add knowledge base) and
                                                                                                                • Bank Feeds

                                                                                                                  Since Friday my bank feeds wont work. I have refreshed feeds, deactivate and reactivate and nothing is working
                                                                                                                • Logged out

                                                                                                                  Hi, just been working on a sheet when a pop up box appeared telling me I'm going to be logged out in x number of seconds and if I reload I may lose any edits, or words to that effect. It did indeed log me out and I did indeed lose my last edits. Any idea
                                                                                                                • Zoho API

                                                                                                                  I have little experience with API. I'm trying to get a Custom API working with Zoho creator. I have created a Custom API and created an Endpoint URL, but i get a 9400 error code "The provided HTTP method is not valid for this custom API". Based off the
                                                                                                                • #157127950

                                                                                                                  Where did my initial question go?
                                                                                                                • Zoho writer unable to merge documents to PDF with basic fonts in Hebrew or fonts from my computer

                                                                                                                  I created several forms that will be merged into PDF files through Zoho Writer and I am unable to receive the PDF in the basic fonts of the Hebrew language or in the fonts I have on my computer. The writer exports to PDF an exchange font that looks very
                                                                                                                • How I Implemented Subscription-Based Access Control and Expiry Handling in Zoho Creator

                                                                                                                  I recently worked on a use case where users come into the application to request a service, but they should only be able to continue the process after completing a subscription. The challenge was not just controlling access, but also making sure that
                                                                                                                • Zoho Forms API

                                                                                                                  Is there any way to get all form entry list using API? Looking forward to hear from you
                                                                                                                • Zoho Projects : Task should auto-update to 'In Progress' if timer started

                                                                                                                  Namaskaram. Right now, if a Task's timer is started, the Task stays in 'Not Started' status. One has to manually update it to 'In Progress'. From a #uxdesign standpoint, it is an unnecessarily two step process to start working on a task. It would be better that, if I start the timer on a task, it should automatically change to 'In Progress' status. Crafted with ❤️ Zoho Gurus | Zoho One Practice Team @ CubeYogi Zoho Authorised Partner | 7+ Yrs | 200+ Projects | 100+ Customers
                                                                                                                • Laatste facturen en betalingen niet zichtbaar in mijn account

                                                                                                                  Wij gebruiken ZOHO invoice al jaren, maar sinds afgelopen week is mijn laatst verzonden factuur niet zichtbaar in mijn account, en tevens de laatst betaalde facturen zie ik niet. Hoe kan dit? Ik heb de pagina al diverse keren gerefreshed.
                                                                                                                • Undelivered Mail uncategorized-bounce errors when sending invoices

                                                                                                                  Recently we have been getting Undelivered Mail bounce notification when sending invoices. Reason: uncategorized-bounce Some go through no problem some bounce back. We recently sent 10 invoices, 6 received bounce notifications. After reaching out to the
                                                                                                                • Option to Delete Chats in IM

                                                                                                                  Currently, there is no option to delete any chats in IM, regardless of their source.
                                                                                                                • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

                                                                                                                  Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
                                                                                                                • Can I import MSG files into Microsoft 365 without Outlook?

                                                                                                                  Yes, absolutely. You do not need Outlook installed to import MSG files into Microsoft 365. Aryson MSG file Converter is a dedicated tool that eliminates the Outlook dependency entirely, making the migration process simple and efficient for all users.
                                                                                                                • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

                                                                                                                  Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
                                                                                                                • Introducing Radio Buttons and Numeric Range Sliders in Zoho CRM

                                                                                                                  Release update: 1. 2 March 2026: Currently out for CN, JP, AU and CA DCs (Free and standard editions). For other DCs, this will be released by mid-March. 2. 26 March 2026: CA, SA, AU, JP, CN DCs - Free, Standard, Professional, Enterprise, Ultimate, CRM
                                                                                                                • Feature Request - A Way To Search Item Groups

                                                                                                                  Hi Inventory Team, I can't find any way to filter or search by fields of Item Groups. It would be great to see that functionality added. I have a use case where a single product might come from 5 or more suppliers and each supplier's item is an Item in
                                                                                                                • Zoho Books/Inventory - Update Marketplace Sales Order via API

                                                                                                                  Hi everyone, Does anyone know if there is a way to update Sales Orders created from a marketplace intigration (Shopify in this case) via API? I'm trying to cover a scenario where an order is changed on the Shopify end and the changes must be reflected
                                                                                                                • Ticket id issues

                                                                                                                  When I reply a ticket from desktop, it doesn't have ticket id in the subject and it's great. When I reply a ticket from Zoho desk mobile, Zoho adds ticket id in the subject and I don't want that. Please help in this matter.
                                                                                                                • Advanced email configuration - agent's name vs. department name

                                                                                                                  We currently have all four Advanced Configuration options turned ON at the Global-level (Channels > Email > Advanced Configuration) - including the "Show Agent name in Ticket replies and outgoing emails" option. We also had that same option turned ON
                                                                                                                • sync two zoho crm

                                                                                                                  Hello everyone. Is it possible to sync 2 zoho crm? what would be the easiest way? I am thinking of Flow. I have a Custom Module that I would like to share with my client. We both use zoho crm. Regards.
                                                                                                                • Add Bounced as an Email Action / Notification for Bounced Emails

                                                                                                                  This is one of the hard requirements for the clients we're servicing. They want to get an internal email notification whenever the email they sent to their contacts have bounced, so that they can look into it and update the email address. Currently, the
                                                                                                                • Files Uploaded to Zoho WorkDrive Not Being Indexed by Search Engines

                                                                                                                  Hello, I have noticed that the files I upload to Zoho WorkDrive are not being indexed by search engines, including Google. I’d like to understand why this might be happening and what steps I can take to resolve it. Here are the details of my issue: File
                                                                                                                • Notebook AI limits

                                                                                                                  Hi folks, Working with the AI transcription tools in Notebook, on the Mac App, which I find quite handy, but the one thing I am struggling with is the inability to either edit or copy the results of the transcript: I can't click in any of the boxes, and
                                                                                                                • not able to convert pdf to jpg and other forms and vice versa.

                                                                                                                  i want to change my pdf to jpg, word, etc and some times jpg to pdf. i don't know how to do in this.
                                                                                                                • What’s New in Zoho Analytics - March 2026

                                                                                                                  Hello Users! In this month's update, we bring improvements across integrations, security, reporting, and analytics capabilities to help you work with your data more efficiently and with greater control. Explore what’s new and see how these enhancements
                                                                                                                • Zoho People > Performance Management > Appraisal cycle

                                                                                                                  Hello All I am using this 2 users to test out how it work on Performance Management User 1 - Reportee User 2 - Reporting Manager : Li Ting Haley User 1 : Self Appraisal Error How do i fix this error?
                                                                                                                • SalesIQ Tip for Admins: Guide Operators in Real-time Without Interrupting the Chat

                                                                                                                  Consider this. You're a supervisor and you're looking through the active conversations. An associate is mid-chat with a high-value prospect. The prospect asks something unexpected, maybe about a tailor-made subscription plan or a bulk discount that’s
                                                                                                                • Next Page