Hello,
I’ve recently installed the addon onto my website and it doesn’t work properly.
My use for it was just to insert new contacts. But i believe this bug affects all the types of processors.
To the problem. When the addon make a API call to Zoho the json looks something like this:
{
"data":[
{
"Full_Name": "Mr. My Name",
...
}
],
"trigger":[ ]
}
The the problem is with the “Full_Name” json key. It’s generated from the field_label json key which is seen as the label in the processor settings. (“Full Name” we replace ” ” with “_” and we have “Full_Name”). But that’s not the right way. The addon gets the field_label from another API request to zohoapis.com/crm/v2/settings/fields?module=… In the same request. In the same object as field_label is also another json key api_name. And that’s the right string to use.
Why is this a problem? When a user changes name of some field on Zoho (as I did). It will logically affect the key generated by addon. For example: If I were to change “Full Name” to just “Name” the json sent by addon would change like this:
{
"data":[
{
"Name": "Mr. My Name",
...
}
],
"trigger":[ ]
}
But Zoho API sets the expected api_name when you create the field and then it stays the same. So basically the json key is wrong, there’s no field by that api_name and therefore it just ignores it. The result is that, some part of your form gets imported and some (the fields you’ve changed the name of) parts don’t.
I’ve gone though the code and I belive to fix this you just need to change code in this file ( /includes/class-cf-processor.php ) at line 450. Instead of this:
$label = str_replace( ' ', '_', $field['field_label'] );
/**
* TODO: Change this to a preg_match
*/
if ( 'Lead_Owner' === $label || 'Task_Owner' === $label || 'Contact_Owner' === $label ) {
$label = 'Owner';
}
$label = str_replace( '.', '', $label );
$object[ $label ] = $this->get_form_value( $field );
I believe there just needs to be this:
$object[ $field['api_name'] ] = $this->get_form_value( $field );
I haven’t tested it though.
Thank you
Brona Ruzicka
What does this mean?
When setting a “Layout” you will need to include the name and the ID separated by a | symbol. The name goes first, and then the ID. e.g “Direct|11111111111”
Is this for the Form Name? and how do we know what the “ID” is?
]]>I am having a frustrating issue getting the connection to work with Zoho leads. Some of our form submissions are being passed to Zoho leads, while other are not. The only difference I can see is the ones that are being passed contain an actual ID number, whereas the ones that are not are showing the following for the ID number:
Id [object Object]
See screenshot: https://d.pr/i/STckco
And other entries are getting tagged with an actual ID number.
See screenshot: https://d.pr/i/I5N0sk
Any idea why some get a number and others don’t? The ones that don’t never pass through to Zoho leads. ??
]]>Hi.
I’d like to use your plugin with “Caldera forms” to submit datas to my CRM account.
For that, as described in the documentation, I’ve created an API
credentials, filling the API fields and apparently success to connect the plugin to the API, as I had to click on the button “Accept” (to allow Caldera forms app to connect to my Zoho account).
But now I have that problem :
Just after the click on the “Accept” button, I’m redirected to my website where I read the following error :
invalid_client
(displayed twice) and if I try to ignore this messages, in my Caldera Forms, on the “Porcessors” tab, I have the errors:
Errors
This processor is causing the following errors:
A valid URL was not provided.
A valid URL was not provided.
What does it means??
What did I do wrong?? What do I have to do to make it works, please?
TIA for your precious help.
All the best.
Pierre.
]]>This processor is causing the following errors:
User doesn’t have account in Zoho CRM
]]>Hi,
I have installed caldera forms last version and this addon of zoho integration.
I have a form created, and the preprocessor configured with fields mapping.
But when I click on submit, the sincro doesn’t work.
I read this in your documentation:
When setting a “Layout” you will need to include the name and the ID separated by a | symbol. The name goes first, and then the ID. e.g “Direct|11111111111”
But I don’t know where di I have to configure this.
Please, can you help me?
Thanks in advance
]]>