Hello everyone!
Welcome back to another week of Kaizen!
In today's post, we will discuss:
- What is Postman?
- Zoho CRM's API Collection in Postman
- Where is it available?
- Prerequisites for using the collection
- Forking the API Collection from Zoho CRM Developer Workspace
- Setting up the environment
- Registering a Client in Zoho API Console
- Generating tokens
- Making an API call
- A quick alternative to token generation using Guided Auth
1. What is Postman?
- A popular tool for API development and testing.
- User-friendly interface for making API requests, viewing responses, and managing different environments.
2. Zoho CRM's API Collection in Postman
- Boilerplate requests that you can use to test and explore the CRM APIs in various environments for multiple organizations.
- Makes the process of exploring APIs swift and effortless. It also significantly reduces the risk of errors.
3. Where is it available?
4. Prerequisites for using the Collection
- A Zoho CRM account to access the Zoho API Console.
- A registered client (self-client/web-based) to generate an org-specific grant token.
5. Forking the API Collection from Zoho CRM Developer Workspace
- Download and install Postman.
- In the Postman app, click the search icon at the top bar and type Zoho CRM Developers. The Zoho CRM Developers Workspace opens.
- Click Collections on the left bar.
- Click the more actions icon.
- Click Create a Fork.
- Give a name to your collection, and choose the workspace you want to save it to.
- You can select one or more environments to fork and pin to the collection.
- Click Fork Collection. Forking will happen in the background.
6. Setting up the environment
An environment is a group of variables that you can reuse in API requests and scripts.
- Click Environments on the left bar.
- Click Create Environment and give it a name.
- Under Variable, add the following variables:
client-id
client-secret
redirect-uri
authorization-code
access-token
refresh-token
accounts-url
api-domain
expiry-time
7. Registering a client in Zoho API Console
For your app to be able to use users' data in Zoho CRM across multiple orgs, you must register your app as a client in Zoho CRM.
In this post, we have used Self Client as the client type. For details about when to choose between a self-client and web-based client, refer to this Kaizen post.
- Go to Zoho API Console.
- Click Add Client.
- Choose Self Client from the list of client types and click Create Now.
- You will see the client ID and client secret.
8. Generating the tokens for a self client
Zoho CRM APIs follow the OAuth2.0 protocol for authentication.
This involves three tokens viz, grant token(authorization code), access token and refresh token.
- Grant token - Also called the authorization code, for a self client, this token is generated in the API console itself. This token informs Zoho's authorization server(Zoho Accounts) that your app wants to access Zoho CRM users' data(bound by scopes). This token is environment-specific, i.e, if you choose a production org while generating this token, you can access Zoho CRM data in the production environment only. This token is valid from 3 minutes to 10 minutes based on what you choose in the console.
- Access token - After you have authenticated your app and generated a grant token, you must exchange it with Zoho Accounts for an access token. This access token will also have the same scopes as your grant token. This token is valid for one hour. You must send this token in the header of every API call as a bearer token.
- Refresh token - Since the access token is valid only for an hour, you can use the refresh token to generate a new access token. Instead of creating a grant token again for the same scopes and generating another access token, you can directly use the refresh token and get a new access token with the same scope. Refresh token is valid until you revoke it.
Let's see how to generate these tokens.
Creating the grant token is a one-time process. After you generate access and refresh tokens using the grant token, you can simply use the refresh token to create new access token every hour.
9. Making an API call
Now that we have generated the tokens, let's make an API call using the access token.
- Navigate to V6 > REST APIs > Records > Get Records > Accounts.
- You can see the request with a few fields already in place.
- Modify the parameters as required.
- Under Auth, you can see the variable {{access-token}} that holds the access token we generated earlier.
- Hit Send to get a response.
10. A quick alternative to token generation using Guided Auth
Postman has introduced a new flow called the Guided Auth. This method allows new users to acquaint themselves with making API calls and testing them, without the hassIe of setting up a client.
In this flow, Zoho acts as the client and takes care of generating the grant and access tokens for a set of pre-defined scopes.
Follow these steps to use Guided Auth.
- Click Set Up New Authorization in Postman.
- Click Authorize. You will be redirected to Zoho's Login page.
- Sign in to your Zoho account.
- Choose the org for which you want to generate the token.
- Click Agree on the consent screen to grant permission to use your Zoho CRM data as per the scopes on the screen.
In the backend, Zoho generates the grant and access tokens, and you will see the access token in your Postman instance under Auth Credentials.
Note that flow does not give you a refresh token. This method is only to get a head-start with APIs without facing authorization errors. As always, the access token is valid for an hour, after which you have to follow the process of authorizing Zoho to generate another token.
As you can see, when you use our API collection, making API calls to Zoho CRM is a piece of cake as all the requests are already in place with examples.
We hope you found this post useful. We'll meet you next week with another interesting post!
Cheers!
Recent Topics
Allow a brand to connect multiple facebook pages at the same time
Our company have multiple facebook pages to represent, every branch, right now we can only link one facebook page, so we can only recive messages from one branch. It would be nice to be able to connect all pages.
5名限定 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ (12/19)
ユーザーの皆さま、こんにちは。Zoho ユーザーコミュニティチームの藤澤です。 12月開催のZoho ワークアウトについてお知らせします。 ※定員に達したため、受付を終了しました。 ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目的とした「Zoho ワークアウト」を開催します。 Zoho サービスで完了させたい設定やカスタマイズ、環境の整備など……各自で決めた目標達成に向け、 他の参加者と同じ空間で作業を行うイベントです。先輩ユーザーや他の参加者と意見交換をしながら集中して作業に取り組むことが可能です。
Whatsapp reply not reflected under Tickets for offline agent
Hi, We are encountering a situation where WA response from customer is not reflected under tickets (if the agent handling the case previously is not active due to off day/ MC). The ticket will remain in the offline agent's queue until agent is back to
Missing Folders on iPhone Zoho Mail
Under mailboxes on my iPhone, I don't have an inbox, sent folder, deleted photo, etc. See pics.
Select CRM Custom Module in Zoho Creator
I have a custom module added in Zoho CRM that I would like to link in Zoho creator. When I add the Zoho CRM field it does not show the new module. Is this possible? Do i need to change something in CRM to make it accesible in Creator?
Send Whatsapp with API including custom placeholders
Is is possible to initiate a session on whatsapp IM channel with a template that includes params (placeholders) that are passed on the API call? This is very usefull to send a Utility message for a transactional notification including an order number
Increase Round Robin Scheduler Frequency in Zoho Desk
Dear Zoho Desk Team, We hope this message finds you well. We would like to request an enhancement to the Round Robin Scheduler in Zoho Desk to better address ticket assignment efficiency. Current Behavior At present, the Round Robin Scheduler operates
Separate One-Time Mentions from Ongoing Ticket Following in Zoho Desk
Dear Zoho Desk Support Team, We are writing to request an enhancement to the mention functionality within Zoho Desk. Currently, when an agent is mentioned in a ticket, they receive notifications for all subsequent activity on that ticket, similar to being
Mass update Accounts in Zoho Desk
We used the integration feature to bring in all of our accounts from Zoho CRM. While all of the names and links are in place, on the Zoho Desk side the email, phone, website, and address fields are blank. By going into each account I can select "Update
Vivaldi will not open the Zoho Mail app when I click a email link in the browser
I'm running Vivaldi on Arch with the Plasma desktop and have under default applications Zoho Mail set as my default email client. Whenever I click a email link in Vivaldi I get the below when it should be launching Zoho. Any ideas on rectifying this issue?
Digital publisher
Kinetic Digital Publisher provides comprehensive digital publishing services, including eBook creation, formatting, cover design, and marketing. We help authors publish and promote their work across online platforms with ease.
Time Zone Correction with Daylight Savings Time
Hey, I'm writing a series of reports where the source data is synced from an external source which stores the date/time information in GMT, but I want the reports to be in local time. Now, I understand there is the CONVERT_TZ function which allows me
Load form in iframe without header
I am trying to load a form into an iframe without the header, but I am not having any luck. I am using openUrl() to load the iframe with the form URL and zc_Header set to false, e.g. #Form:Add_Case?zc_Header=false but it is still loading the header. Any
Filter embedded report
How to filter embedded report in a page, below code is not working. dateField => startDate & dateField=< endDate The report should print on page containing records from startDate to endDate. params='zc_Header=true&Service_Date__gte=<%=startDate%>&Service_Date__lte=<%=endDate%>'
Creator Simplified #5: Set file upload restrictions in Zoho Creator
Hey Creators, Welcome to the next post in the Creator Simplified series. Today, we’ll explore how to implement file upload restrictions to limit user submissions to specific file types. By implementing an allowed list for file uploads, you can optimize
Field Type: Address, Change District/State to Dropdown with picklist??
Using the Address Field type, is there a way to make the District/State field be a dropdown with a picklist so the users can select rather than type the state name every time? I know this can be done if I use a drowdown field for the State (or entire address information), but that isn't as tidy as using the address field type. I apologize if this is a duplicate. I posted this question the other day, or so I though. Can't find that post.
cutomized fields are not showing up in zoho creator from zoho crm
We have customized fields in zoho crm under accounts module like "Last production upgrade" --> This field is a date. When created a solution in zoho creator i couldn't find any of the customized fields. Would you please help me on this matter? Thanks
How to Add Bulk Data in Zoho Creator Forms Using Deluge Without Exceeding Execution Time Limit
I have a database form with a column named 'Product Name' containing 8000 values in a Zoho Creator form. In another form named 'Returns Data,' I have a column with the same name, 'Product Name.' How do I add these 8000 values to the 'Returns Data' form
Open New Free Zoho Account
Hi Team, Do you guys offer a free email hosting? I do have a domain already. If yes, what is the process to open the new account? Thanks,
554 5.7.1 : Recipient address rejected: user info@intimspace.de does not exist
554 5.7.1 : Адрес получателя отклонен: пользователь info@intimspace.de не существует I can't send an email to Google at info@intimspace.de. An error comes. I entered everything correctly in DNS https://zohomail.tools/#domainDetails/intimspace.de/ALL
Emails going back unread
Hi all, When in Zoho mail - when I recieve a new mail it puts back all emails read that day back to unread - I then have to go back through and open all emails I have already read! Gets very annoying... Any idea on the bug fix?
Been getting this error, every now and then "Get count limit exceeded, please try again after 3 mins"
it is really annoying.
Constraints on Tasks
We have a use case where we have certain fixed date tasks and need to schedule predecessor tasks around these. Predecessor tasks need to be completed with a lag before the fixed date. We should be able to schedule the start and end date for predecessor
Moving Project Dependencies Not Moving Precedessors
Most of the time we want to base our start dates around an event that is in the middle of the project template. If I set a bar up at the date we want it, it doesn't move the predecessors up. Is there a way to change this? eg. there is no point starting
Can you set task due dates to be "x" days before the milestone?
We have a milestone set as the date of our first event. All of the tasks need to happen in increments prior to the milestone event. Is there a way to configure this without having to set up each task due date? Thanks!
Default ticket template in helpcenter
Hello, I have a web form and a ticket template created. How can I make that my default ticket template? If an user clicks New ticket or create a ticket, I want that template to be the default one. Thank you for the time and info.
Expanded data-capturing capabilities with enhanced tabular sections
We are thrilled to announce an update to Zoho Recruit that brings even more flexibility and customization to your recruiting process. With the addition of 10 new field types to the tabular sections, you now have the power to enhance your tabular sections
Integration of Business Hours in Email Templates
Dear Zoho Desk Team, We would like to propose a feature enhancement to Zoho Desk that would greatly improve the utility of the Business Hours settings and streamline communication with our clients. Feature Request: Integration of Business Hours in Email
Add Owner to deluge-created module record note
Is it possible to include the "owner" aka "creator", of a Note when creating it via delulge? This sets "superadmin" as the Note creator. I need to override it. notemap = Map(); notemap.put("Parent_Id",program_contact_id); notemap.put("Note_Content",program_contact_data.get('Note'));
Blueprint - Field Validation Criteria (During)
When setting validation criteria elsewhere in Zoho, or even workflow criteria etc., there are Is Empty and Isn't Empty options. Within the Field Validation Criteria within Blueprint, those options aren't available. Is there a particular reason for this?
Delete Field that is used in a Zoho Flow connection
I'm trying to delete a Field used in a Webhook created by Zoho Flow with CRM Connection and i get the following alert: When going to the alert i get to the following issue, can't edit it since its been deployed by a pluggin But yes i have here the prompted
Use image on img HTML tag
Hi how could I do to use my image saved in Workdrive to use it in an HTML img tag ? I need to display it on my website without having to use iframes. Regards,
ZOHO Compain emails going to spam after authentication is successful
Hello, I am frustrated right now. I have recently setup the zoho email compaign, The auto responder email went to receipient spam folder. then, I researched a lot and completed authentication (SPF, DKIM) in email deliverability, email relay in zoho crm.
Security Policies
To protect against cyber threats and attacks, organizations need to set up security policies for their employees' accounts. Security policies are rules and regulations for every individual or group using the organization's assets and resources. Enabling
Zoho CRM functions editor is not in the programming language deluge
I am trying to write a function for a button. I helped someone before in deluge and I'm using this new editor I'm not familiar with - I guess it is new. Why is the default code statically typed? The editor will not let me create a variable without a type.
"Age in Days" calculation in Advanced Analytics
Hi Can someone advise how this is calculated? I am getting values on this report which I cannot understand. Thank you
Automatically set quotes to "lost" if deal is set to lost
Hi, Is there a way to automate that if a deal (opportunity) is lost the related quotes are also set to lost? Thanks!
Subdomain
How can i make subdomain in my zoho website
A/R Aging Details shows wrong aging days
In the A/R Summary Report all of the invoices are in the right aging buckets. When I run the A/R Aging Details report I get aged dates of +300 days when they should be in the 0-90 day range.
Global Choice List share ownership
I have created several forms that use one or more Global Choice Lists. These lists have been published to Org. I would like to allow one or more admins to edit the choices in these lists. Any help appreciated. Geoff
Next Page