Этот шаг позволяет отправлять HTTP-запросы и сохранять их ответы в виде переменных.
Этот шаг доступен только для тарифного плана «Бизнес» и выше.
Конфигурация
На этапе HTTP-запроса есть две ключевые конфигурации:
Метод HTTP-запроса
Конкретный метод, требуемый для запроса. Выберите подходящий метод из выпадающего списка.
URL
В поле URL введите конечную точку URL внешнего API для извлечения данных. Чтобы включить переменные, используйте префикс "$" для поддержки интерполяции статического текста и переменных.
Теперь вы можете использовать IP-адреса и номера портов на этапе HTTP-запроса, что обеспечивает вам прямой доступ к серверам и гибкость для доступа к службам через нестандартные порты.
Обратите внимание, что и response.io, и домены White Label занесены в черный список. Отправка API-вызовов на эти домены не допускается, поскольку это может привести к возникновению циклов.
Тело
Чтобы обеспечить правильное декодирование получателем запроса, расширьте раздел «Тело» и включите тело вместе с заголовком Content-Type.
Заголовки
В разделе «Заголовок» вы можете добавлять заголовки к HTTP-запросу парами. Ключ представляет имя заголовка, а значение представляет значение заголовка. Вы можете использовать переменные в качестве заголовков, добавив префикс "$". Однако помните, что допускается не более 10 заголовков.
Картографирование ответов
Для ответов JSON API с парами ключ-значение вы можете сохранять определенные элементы ответа как переменные. В разделе «Отображение ответа» введите ключ объекта JSON слева и присвойте имя переменной справа. Помните, что можно сохранять только ответы в формате JSON, и у вас может быть максимум 10 настроек сопоставления ответов.
Примеры:
Чтобы сохранить ответ в разных форматах, заполните ключ JSON, соответствующий данным, которые вы хотите сохранить.
{
"имя": "Джейсон",
"почтовые индексы": "12345",
"телефон": "123123"
}Чтобы сохранить номер телефона из ответа выше, используйте $.phone в качестве ключа JSON.
{
"custom_fields": {
"firstName": "Джон",
"lastName": "Доу",
"locale": "en_GB",
"timezone": "5",
"gender": "male",
"phone": "123123",
"email": "zy@respond.io",
"customerid": "1"
},
"created_at": 1575618542
}Чтобы сохранить номер телефона из ответа выше, используйте $.custom_fields.phone
{
"данные": {
"id":"1776025372480910",
"контакты" : [
{
"firstName":"Джон",
"lastName":"Доу",
"locale": "en_GB"
},
{
"firstName":"Джейн",
"lastName":"Доу",
"locale": "en_GB"
}
]
}
}Чтобы сохранить имя 'Джейн' из ответа выше, используйте $.data.contacts[1].firstName.
Сохранить статус ответа как переменную
Чтобы сохранить статус ответа HTTP-запроса как переменную, включите переключатель Сохранить статус ответа как переменную . Затем введите имя переменной в соответствующем поле.
Как это работает
При активации этого шага будет отправлен HTTP-запрос на указанный URL-адрес, используя определенное тело и заголовок.
Вы можете направлять рабочий процесс на основе статуса ответа. Например, вы можете создать ветвь для "код состояния равен 200". Если получен какой-либо другой код статуса ответа, Jump Step может вернуть Контакты на шаг HTTP-запроса. В качестве альтернативы Контакт может быть направлен в ветку «Отказ», если условия ветки не выполнены. Если в ветви «Отказ» не настроено ни одного шага, рабочий процесс будет завершен.
Если ваш HTTP-запрос превысит 10 секунд, это приведет к тайм-ауту, что приведет к сбою запроса.
Потенциальный провал
Чтобы избежать возможных сбоев при выполнении HTTP-запросов, убедитесь, что выполнены следующие условия:
Используйте правильный метод HTTP и заголовок Content-Type.
Обязательно включите требуемый протокол
http://илиhttps://в свой URL-адрес в зависимости от того, что поддерживает ваша система, чтобы избежать сбоя запроса.Убедитесь, что Content-Type является допустимым.
Исключите номер порта из URL.
Избегайте использования самоподписанного сертификата в URL-адресе.
Убедитесь, что разрешение действительно.
Убедитесь, что наши IP-адреса (52.74.35.155, 18.138.31.163, 54.169.155.20) не заблокированы.
Если какое-либо из вышеперечисленных условий не выполнено, Контакт пропустит этот шаг и продолжит оставшуюся поездку.
При проверке выходных данных HTTP-запроса с динамическими переменными помните, что переменные без значения вернутся как null и undefined.
Лучшие практики
Вот несколько рекомендаций по этому шагу, которые вы можете использовать для оптимизации своего рабочего процесса:
Когда HTTP-запрос успешен
Сохранить статус ответа как переменную:
Убедитесь, что первым шагом является сохранение статуса ответа как переменной для дальнейших действий.
Шаг ветви:
Добавьте шаг ветви для оценки статуса HTTP-запроса.
Если статус
200, запрос выполнен успешно.Если нет, настройте оповещение, чтобы уведомить менеджера о невыполненном запросе.
Google Таблица для мониторинга:
Запишите статус ответа в Google Таблицу, чтобы иметь четкое представление об успешности или неудаче запросов.
Комментарий:
Добавьте комментарий в свой рабочий процесс, чтобы задокументировать статус ответа. Это поможет вам более эффективно отслеживать и анализировать ошибки.
Когда HTTP-запрос не выполняется
Сохранить статус ответа как переменную:
Подобно успешному запросу, сохраняет статус ответа как переменную для обработки ошибок.
Использовать ожидание или переход к шагу для повторных попыток:
Реализуйте шаг ожидания, чтобы сделать паузу перед повторной попыткой выполнить неудачный запрос.
Либо используйте Jump Step, чтобы вернуться к шагу HTTP-запроса и повторить попытку запроса.
Комментарий:
Задокументируйте ошибку, создав комментарий для записи ошибки HTTP-запроса.
Укажите контактную информацию и ответственное лицо.
Google Таблица для мониторинга:
Используйте Google Sheet Step для регистрации контактной информации и сведений об ошибках для мониторинга и проверки.
Задание:
Назначьте задачу конкретному пользователю, чтобы инициировать другой процесс в рамках рабочего процесса, и повторите попытку.
Предлагаемые варианты использования
Вот несколько способов использования шага HTTP-запроса:
Маршрутизация VIP-контактов: использование шага HTTP-запроса для извлечения контактных данных из хранилища данных, такого как CRM. Это позволяет вам идентифицировать VIP-контакты, обеспечивая персонализированный клиентский опыт и отличая их от обычных контактов.