FluidReview / SurveyMonkey Apply - вопросы форматирования / настройки webhook - PullRequest
0 голосов
/ 15 января 2019

У меня проблемы с реализацией веб-хуков во FluidReview (раньше это был SurveyMonkey Apply). В частности, я хочу отправить веб-крюк с заявителем и текущим статусом приложения, сработавшего при любом изменении состояния приложения, чтобы мы могли обновить нашу CRM с последними данными о состоянии. Проблема в том, что я не могу понять, как настроить веб-хуки в FluidReview, и их документация ужасна ( Fluid Review Webhooks , Триггеры обзора жидкости ). Кто-нибудь может мне помочь, предоставив пример настройки простого или продвинутого веб-крюка?

Далее следуют шаги:

1) У меня есть конечная точка php на моем WordPress-сайте, который использует следующий фрагмент кода для сохранения JSON из webhook в журнал ошибок:

if(isset($_GET['fr-listener']) && $_GET['fr-listener'] == 'fr') {
    error_log("fr-listener==fr hook caught!");
    if($json = json_decode(file_get_contents("php://input"), true)) {
    // if($json = json_decode(file_get_contents("php://input"), true)) {
        error_log("JSON found");

        error_log(print_r($json,true));
        error_log(var_dump($json));
        // $data = var_export($json, true);
        // error_log("data dump: " + $data);
        // print_json($json);
    } else {
        error_log("no JSON found");
        print_r($_POST);
        $data = $_POST;
    }
}

Я могу использовать это для успешного отлова веб-крючков от Stripe (я использовал приведенный выше фрагмент кода, чтобы помочь мне в разработке ловушки для веб-крючков Stripe) и взгляну на их содержимое в формате JSON. Когда я ловлю одного из веб-крючков из FluidReview, я получаю ответ «no JSON found». Вот как я установил webhook: My Webhook Action (URL = https://wfadev.pairsite.com/listen?fr-listener=fr, Метод = POST, Запрос содержимого = {{заявитель.email}})

2) Я пробовал устанавливать простые и сложные веб-зацепки, и ни один из них не выдает ожидаемый JSON-вывод.

1 Ответ

0 голосов
/ 15 января 2019

Я провел еще какое-то тестирование, и оказалось, что поле «Запросить содержимое» - это просто пустое текстовое поле. Чтобы он отправлял данные JSON из FluidReview, запишите их так, используя переменные конвейера ("{{имя переменной}}")

{
"first_name": "{{user.first_name}}",
"last_name":"{{user.last_name}}",
"email":"{{user.email}}",
"application_type":"{{user.}}",
"date":"{{date}}",
"trigger":"{{trigger}}"
}
...