Интеграция контактной формы 7 со сторонним приложением - PullRequest
2 голосов
/ 09 ноября 2019

Я пытаюсь отправить информацию из пользовательских представлений (контактная форма 7) в стороннее приложение. Я использую этот плагин https://wordpress.org/support/plugin/cf7-to-api/

Стороннее приложение предоставило мне токен доступа и этот пример запроса на создание

curl -X "POST" "https://api.example.com/initial-params" \
-H 'Content-Type: application/json' \
-H 'X-Landing-Page-Access-Token: your-value-here ' \
-d $'{
"move": {
"date": "2018-09-01"
},
"consumer": {
"givenName": "Mike",
"phone": "234234242",
"email": "mike@example.com",
"familyName": "Simon"
},
"origin": {
"zip": 3245,
"beds": 8
},
"destination": {
"zip": 12342
}
}'

, и это их документация

Конечный потребитель вводит данные на целевую страницу. Как только все данные введены, целевая страница отправляет сообщение в конечную точку начальных параметров нашего API. Наше приложение хранит параметры и генерирует уникальный идентификатор. После успешного вызова API для создания начальных параметров целевая страница автоматически перенаправляется в веб-приложение опроса с идентификатором, заданным в качестве параметра URL (например,? Identifier = xxx ...). - Важно: наше веб-приложение опроса должно получить этоимпорт, чтобы последующие сообщения работали, если потребитель отпадает. В результате рекомендуется автоматически перенаправить наше веб-приложение для опросов после создания начальных параметров, а не нажатия кнопки. Когда наше веб-приложение опроса загружается, оно запрашивает наш API для получения параметров. С помощью информации о параметрах он затем инициализирует веб-приложение и API для опроса в состояние, указанное в исходных параметрах. Каждый экран с полностью удовлетворенным вводом автоматически пропускается. Потребитель заканчивает процесс в нашем веб-приложении. После создания этого идентификатора целевую страницу можно перенаправить в наше веб-приложение для опросов. Этот идентификатор должен быть передан нашему веб-приложению для опроса через параметр идентификатора URL, который, в свою очередь, позволит загружать предоставленные данные о потребителях в наше приложение. Пример ссылки: https://api.example.com/?identifier=xxx

Это пример ответа о создании, который стороннее приложение также предоставило

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Wed, 18 Jul 2018 16:55:04 GMT
Server: nginx
Content-Length: 380
Connection: Close
{
"status": [
{
"type": "ok"
}
],
"identifier":
"some-unique-identifier",
"serverTime": "247.334 ms"
}

Итак, я использовал https://api.example.com/initial-params в качествеURL для публикации, добавил токен доступа, используя этот фрагмент кода в functions.php

add_filter( 'qs_cf7_api_get_args', 'add_http_header' );
function add_http_header( $args ) {
    $args['headers']['X-Landing-Page-Access-Token'] = 'example-access-token';

    return $args;
}

, и я использовал это в шаблоне JSON

-d $'{
 "move": {
 "date": "[date]"
 },
 "consumer": {
 "givenName": "[givenName]",
 "phone": "[phone]",
 "email": "[email]",
 "familyName": "[familyName]"
 },
 "origin": {
 "zip": [zip1]
 },
 "destination": {
 "zip": [zip2]
 }
}'

Мои вопросы:

  1. Как проверить полученный от них результат, чтобы узнать, получают ли они информацию и генерируют ли идентификатор?

  2. Как перенаправить наих целевая страница с идентификатором в конце, когда форма отправляется? Этот идентификатор является переменной и каждый раз уникален, что означает, что мне нужно как-то перенаправить на переменную после отправки.

Любая помощь очень ценится.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...