Перенаправление на Zoho согласованную запись клиента с функцией Deluge - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь встроить Zoho CRM с помощью iframe в приложение, которое знает только номер телефона.

(Ramble: Изначально я намеревался позвонить в API Zoho, чтобы найти контакт по номеру телефона и перенаправить или загрузить страницу Zoho контакта - но приложение для хостинга, похоже, не поддерживает достаточно функций для поддержки OAuth2 Zoho.только аутентификация - так что я думаю, что я застрял с Zoho Deluge, который я нахожу, чтобы быть УЖАСНЫМ языком)

Я надеюсь ПОЛУЧИТЬ перейти к этой функции Zoho с номером телефона в качестве параметра,пусть он найдет уникальное совпадение и перенаправит на данные клиента.

response = zoho.crm.searchRecords(
    "Contacts", 
    "", // no criteria - I hope the later parameter 
        // normalizes better than this would?
    1, // first page
    2, // of two max results - just to verify uniqueness
    "{ phone: '" + phoneNumber + "'}"); // Docs are terrible.  Is this the format? 
                                        // I also tried "phone:equal:..."

//if (1 < response.size()) { // script errors show up on nonsense line 
//  return "[Ambiguous]";    // numbers, but this seems to work until later
//}                          // lines are included - then errors point here

return response; // Works, but useless string output
return response.firstName; // "Invalid collection object found" - but not expected to work
return response.get(0); // 'TEXT' can not be cast to '[KEY-VALUE, TEXT, LIST]' for the function 'get'
return response.get('firstName'); // 'TEXT' can not be cast to '[KEY-VALUE, TEXT, LIST]' for the function 'get'
return response.get(0).firstName; // Improper Statement Error might be due to missing ';' at end of the line or incomplete expression

// openUrl( <string>, <window_type> ); // hoping to get here

Я также пробовал варианты возврата изнутри для каждого элемента цикла, не повезло.

Я ДУМАЮЯ успешно нашел пользователя по номеру телефона, потому что, по-моему, я действительно получил одно совпадение, но не могу его проверить и не знаю, как получить URL-адрес страницы сведений о клиенте для вызова openUrl ().Вы знаете, как добиться прогресса в этом вопросе?

1 Ответ

1 голос
/ 25 сентября 2019

Критерий искажен, а функция searchRecords возвращает список карт.

Для доступа к первому элементу списка вы должны использовать .get (0) и получить элемент карты .get ("First_Name")

Поля имеют неправильный формат, необходимо получить имя API поля формы crm.zoho.com-> setup-> API-> APInames-> Contacts

Вы можете использовать info для отладки ответа (информационный ответ;)

Zoho CRM API Поиск записей

toReturn = "";
response = zoho.crm.searchRecords("Contacts", "Phone:equals:" + phoneNumber, 1, 2);
if (1 < response.size()) {
    toReturn = "[Ambiguous]";
} else if (0 == response.size()) {//error triggered if use get(0) of emty list
    toReturn = "[None]";
}else {
    toReturn = reponse.get(0).get("First_Name");
    openUrl("https://crm.zoho.com/crm/org[yourOrgID]/tab/Contacts/" + reponse.get(0).get("id"), "new window");
}
return toReturn;
...