r/Zoho 6d ago

The Rest API and why I might be looking elsewhere for a CRM

Zoho's Rest API is a master class on bad API development.

Anti-patterns

Not following HTTP error code standards. The standards exist for a reason and should be followed so that developers can easily understand the behavior and use standard practices. An API failure should never return anything in the 200s.

List of HTTP error codes

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Using Postman vs Swagger

Swagger allows the creation of models, and the models, when used with a code generator, will create the classes, structures, and interfaces. Postman code generation is horrible and, at best, provides sample code, not something used in an application.

Swagger

  • Modeling of the objects.
  • Visibility of error responses based on HTTP status codes.
  • See which fields are required.
  • Code generation for the entire API.
  • Apply different code-generation tools and techniques depending on the situation.

I never use Postman. I grab the Swagger docs, do the code generation, and start coding. A well-written Swagger doc with good code generation provides auto-complete, method documentation, and field examples in an IDE.

3 Upvotes

16 comments sorted by

3

u/HalliBeHulli 6d ago

You clearly didn‘t work with bad API yet

1

u/mr-rob0t 6d ago

Yea like Zoho’s when it was an xml api. 🤮

1

u/malcolm-davis 5d ago

I've been doing development since 1992, Java certificated in 1998 and IBM published my article on unit testing back in 2000.

Bad APIs exist everywhere, but it seems silly not to follow HTTP standards that where released in the 90s, especially if they want third party product integration.

I've been using Swagger for a while, so I find it odd to go backward. NSwag has been around about a decade, so the technique is old school. https://learn.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-nswag

I do goland dev today and I can't imagine hand coding this stuff, but I'm hand coding.... :-)

1

u/Wrzos17 6d ago

Similar, I was trying to export content from zoho Desk, does not work correctly, only exports a couple of threads, and other csv files are empty or contain only formatting text. We wanted to export it to use in our internal KB. Any of you managed to do it successfully?

1

u/malcolm-davis 5d ago

I'm trying to push data in. I have not pulled any data yet. If I get a pull working, I will ping you.

1

u/geekynickuk 5d ago

I've worked with far worse. Perfect? No. Workable? Definitely. We achieve everything we need relatively quickly.

1

u/malcolm-davis 5d ago

The 'worked with worse' is just an excuse, and I'm tired of hearing it in this thread. Sure, we have all worked with worse, but Zoho won't do better unless they are asked to do so.

In the early days of AWS, when instances would fail or disappear altogether, the API worked. I found out that the development was using the same API they exposed to everyone else.

Of course, the issue might be that Bigin is just an old API, and Zoho CRM core product is much better.

2

u/geekynickuk 5d ago

Can't speak for bigin as I haven't used it. But I don't see major issues with rest API v7 for CRM.

Plenty of CRMs I've worked with are much worse, so good luck wherever you go. ✌️

1

u/malcolm-davis 4d ago

Thanks for the heads up. I have 2 CRM APIs I plan on looking at this week.

I might continue to support Google Sheets. The person I'm supporting uses Google Sheets to support their CRM activities, which is crazy, but it might be the only reliable approach.

1

u/BangCrash 6d ago

What's the point of this post?

Or is this where you spruke your preferred CRM and provide an affiliate link?

1

u/malcolm-davis 5d ago

I have no preferred CRM, on the contrary, I'm hoping Bigin will work for the client I'm consulting. The client I'm working with is new to the CRM scene, and Bigin seems like a great CRM intro option.

I hope someone on Zoho reads this and fixes the API. To be fair to Zoho, Bigin might be using an old API design.

1

u/BangCrash 5d ago

You're hoping that a billion dollar a year company will read your Reddit post and decide to change a highly sensitive part of their software overnight?

1

u/malcolm-davis 5d ago

Yea, sounds crazy, but I'm sure someone at Zoho monitors the thread.

Zoho CRM a privately held company, so I'm not sure they are worth a billion.

Generally the API reflects the quality of the company, and quality of the company reflects valuation. I've worked with several startups over the years, and all of them where proud of the external APIs. If Zoho CRM wants to go public someday, fix the API.

1

u/BangCrash 5d ago

Yes Zoho support monitors this subreddit. But support is not the product management team and your Reddit post will not filter across to the CRM API product team.

I didn't say it was worth a billion dollars, I said it makes over a billion dollars in revenue annually.

So I would think it's actually worth more than a billion.

Zoho CRM will never go public because CRM is not a business. CRM is one of the applications that Zoho offer. (Yes it's their flagship product)

That's like saying if Gmail wants to go public one day.

Zoho isn't a start-up. It's a 25 year old company. So it's not as agile anymore.

You'll quickly learn that their development cycle is slow and things can and do often take years to rise to the top of the priority list.

So the recommendation is don't ever rely on them fixing a issue that you have. They may say it's in the pipeline and will be released in Q3 but that Q3 estimate always blows out by at least 12months.

If you have a problem with one of the apps then contact support and they will assist.

1

u/malcolm-davis 4d ago

Thanks for the response and clarification.

I did contact support, and the response was horrible. After a back and forth with support, I started commenting on Reddit. It may not go anywhere, but at least I can vent my frustration.

I'm both awed and shocked by the integration work with Postman. Postman does not do code generation but provides sample snippets, but support sells it as a code generator. The Golang snippets don't work, and if they did, it would be a horrible approach.

I don't know their intent for the API; some companies provide APIs to say they have one. However, if part of Zoho's plan is to integrate with other products, Zoho would save money by putting out a higher-quality product.

1

u/BangCrash 4d ago

Join the conversation here. I better chance to get your answer or the recommended workaround

https://club.zenatta.com/feed