Zoho Integration

Status
Not open for further replies.

Doberman_techAJ

Bronze Partner
Intermediate Cert.
Joined
Feb 26, 2019
Messages
27
Reaction score
3
Hey guys,
Trying to get my integration with zoho to work and currently I am getting the following error:


Server returned a non successful status code - HTTPStatusCode=BadRequest - Reason= - Content={"code":"INVALID_QUERY","details":{"reason":"the field is not available for search","api_name":"Fax"},"message":"invalid query formed","status":"error"}
Started scenario with empty id
Started Auth
Request text: https://accounts.zoho.com/oauth/v2/token
Request form value refresh_token set to 1000.b3193329f8f07a4624b8ea4e47f05b8d.57e9817e5351f1965a5ad121b0f08bc9
Request form value grant_type set to refresh_token
Request form value client_id set to 1000.G9S2KV5ICYBX2HNVPOG6LJWST07HDZ
Request form value client_secret set to 6d81b319bf6a6f4de28b574649049defd6b50903c0
Response text: {"access_token":"1000.c5e29cd782fd0a7f0000aedfb83cfa71.4560a2e8d195137fa5c4163a4e86b145","api_domain":"https://www.zohoapis.com","token_type":"Bearer","expires_in":3600}
Response finished
Variable AccessToken set to 1000.c5e29cd782fd0a7f0000aedfb83cfa71.4560a2e8d195137fa5c4163a4e86b145
Variable ApiDomain set to https://www.zohoapis.com
Finished Auth
Request text: https://www.zohoapis.com/crm/v2/Contacts/search?criteria=((Phone:equals:517) or (Mobile:equals:517) or (Home_Phone:equals:517) or (Other_Phone:equals:517) or (Fax:equals:517))&fields=Account_Name,id,First_Name,Last_Name,Phone,Mobile,Home_Phone,Asst_Phone,Other_Phone,Email,Fax
Response text:
Response finished
Finished scenario with empty id
Started scenario with empty id
Request text: https://www.zohoapis.com/crm/v2/Leads/search?criteria=((Phone:equals:517) or (Mobile:equals:517) or (Fax:equals:517))&fields=id,First_Name,Last_Name,Phone,Mobile,Fax,Email,Company
System.Exception: Server returned a non successful status code - HTTPStatusCode=BadRequest - Reason= - Content={"code":"INVALID_QUERY","details":{"reason":"the field is not available for search","api_name":"Fax"},"message":"invalid query formed","status":"error"}

at CrmIntegration.ScenarioProcessorBase.ProcessRequest(ScenarioRequest request, IValueManager customManager, HttpClient client, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.ProcessScenario(ProtocolScenario scenario, IValueManager customManager, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.Execute(ProtocolScenario scenario, CancellationToken token)
at CrmIntegration.CrmProcessor.GetContactInfoFromCrm(String contactNumber, String destinationEmail, Boolean createIfNotFound, CancellationToken token)


From what I have read this sounds like a permissions error but not sure where in zoho I need to make the changes. Any help would be appreciated.
 
  • Like
Reactions: Evolute IT
  • Like
Reactions: edossantos
Same problem here.
We try this suggestion.

btw, our customer has had contacted Zoho support.

The answer from Zoho-Support below.
It seems, 3CX should talk with Zoho for a better cooperation.

---- Zoho Support Message
Sorry to disappoint you. Please note that as of now you can only use the supported providers of Zoho. Please log-on to crm.zoho.com--> Click Setup--> Select Telephony under Channels and check the list of supported providers--> you can integrate any one of listed supported providers.

Also, please check the link below to find the registered telephony partners which we support: https://www.zoho.com/telephony/provider-lists.html

Unfortunately, it is not possible to use any of the unlisted providers with Zoho. We will not support/assist any telephony integrations through API. The provider 3CX is not a supported provider of Zoho and you might be using API to integrate it which we are not supporting right now. Hence. please try to use any of the supported providers listed in the above link.
Thank you for your understanding.

Write to me if you have any more questions.
 
btw, our customer has had contacted Zoho support.

The answer from Zoho-Support below.
It seems, 3CX should talk with Zoho for a better cooperation.

---- Zoho Support Message
Sorry to disappoint you. Please note that as of now you can only use the supported providers of Zoho. Please log-on to crm.zoho.com--> Click Setup--> Select Telephony under Channels and check the list of supported providers--> you can integrate any one of listed supported providers.

Also, please check the link below to find the registered telephony partners which we support: https://www.zoho.com/telephony/provider-lists.html

Unfortunately, it is not possible to use any of the unlisted providers with Zoho. We will not support/assist any telephony integrations through API. The provider 3CX is not a supported provider of Zoho and you might be using API to integrate it which we are not supporting right now. Hence. please try to use any of the supported providers listed in the above link.
Thank you for your understanding.

Write to me if you have any more questions.
That response from Zoho is regarding the PhoneBridge integration, which we don't support at the moment. However, the integration we provide is fully working.
 
Okay so one thing I have noticed is that when I use the app in chrome it calls just fine and works but it doesn't log in zoho that I called. Is that normal or does anyone have this working?
 
we have nearly the same error as written above.

Code:
responsible Server returned a non successful status code - HTTPStatusCode=BadRequest - Reason= - Content={"code":"INVALID_QUERY","details":{"reason":"the field is not available for search","api_name":"Home_Phone"},"message":"invalid query formed","status":"error"}

The only difference is api_name = "Home_Phone".
Our customer has no field "Home_Phone", neither hidden nor visible.

Any idea how to solve?
 
Okay so one thing I have noticed is that when I use the app in chrome it calls just fine and works but it doesn't log in zoho that I called. Is that normal or does anyone have this working?
The call should be logged, as long as the contact can be found, and the Zoho user can be matched to the calling extension. If you're not seeing the calls being logged, you should enable verbose logs, make a test call, and check the 3cxSystemService.log, which contains all the interactions between 3CX and Zoho.
 
  • Like
Reactions: Evolute IT
we have nearly the same error as written above.

Code:
responsible Server returned a non successful status code - HTTPStatusCode=BadRequest - Reason= - Content={"code":"INVALID_QUERY","details":{"reason":"the field is not available for search","api_name":"Home_Phone"},"message":"invalid query formed","status":"error"}

The only difference is api_name = "Home_Phone".
Our customer has no field "Home_Phone", neither hidden nor visible.

Any idea how to solve?
The Home_Phone field is standard in Zoho CRM. You should check this guide to make that field visible:
https://help.zoho.com/portal/kb/articles/how-to-show-or-hide-fields-in-zoho-crm

If the field doesn't exist, maybe you're using a different Zoho product?
 
The call should be logged, as long as the contact can be found, and the Zoho user can be matched to the calling extension. If you're not seeing the calls being logged, you should enable verbose logs, make a test call, and check the 3cxSystemService.log, which contains all the interactions between 3CX and Zoho.
Maybe it is how I am operating zoho. From my understanding you go to activities then click "+call" grab whichever lead and it should make the call. However when i do that it doesn't open in the 3cx chrome extension it pops up another box instead for going through the extension. Am I missing something here?
 
Maybe it is how I am operating zoho. From my understanding you go to activities then click "+call" grab whichever lead and it should make the call. However when i do that it doesn't open in the 3cx chrome extension it pops up another box instead for going through the extension. Am I missing something here?
That's not how it works. If you want to make outbound calls from Zoho, you need to use the click to call browser extensions. This will convert any phone in any web site, to a click to call link.

When a call to an external number ends (no matter how you started it), the call will be registered in Zoho. If you're receiving an inbound call, the contact record is poped up, but this is not the case for outbound calls, as you will probably already have the contact page open.

Call Journaling also requires that:
1) The external number is matched to a Zoho contact, and
2) The internal extension number is matched to a Zoho user.

If both conditions are met, the call is created in Zoho, associated to the matched contact and Zoho agent.
 
That's not how it works. If you want to make outbound calls from Zoho, you need to use the click to call browser extensions. This will convert any phone in any web site, to a click to call link.

When a call to an external number ends (no matter how you started it), the call will be registered in Zoho. If you're receiving an inbound call, the contact record is poped up, but this is not the case for outbound calls, as you will probably already have the contact page open.

Call Journaling also requires that:
1) The external number is matched to a Zoho contact, and
2) The internal extension number is matched to a Zoho user.

If both conditions are met, the call is created in Zoho, associated to the matched contact and Zoho agent.
Do they have to be in contacts or can they be in leads?
 
Contacts, Leads or Accounts are supported.
Okay so I can see the call go out and it connect but when I check the activity log and search I don't see anything and I cant find the 3cxSystemService.log anywhere
 
Contacts, Leads or Accounts are supported.
I have found the file and have the instance in the log. I can PM them to you if you would like to look at it
 
Ensure that it's in verbose mode, and you have calls which should trigger the contact lookup. Then send it to me in a PM.
 
Ensure that it's in verbose mode, and you have calls which should trigger the contact lookup. Then send it to me in a PM.
I have the file but it wont let me attach the file in a conversation. Is there another way I can send it to you
 
Ensure that it's in verbose mode, and you have calls which should trigger the contact lookup. Then send it to me in a PM.


Pretty sure this is why its not working:
Exception during call reporting: System.Exception: Server returned a non successful status code - HTTPStatusCode=BadRequest - Reason= - Content={"code":"INVALID_QUERY","details":{"reason":"the field is not available for search","api_name":"Extension Number"},"message":"invalid query formed","status":"error"}

The thing is I have it setup with Extension number and when I look at the profile the extension number is there in Zoho so I am not sure why the field wouldn't be available for search
 
Status
Not open for further replies.