首页 > 解决方案 > 将 Contact Form 7 与第三方应用程序集成

问题描述

我正在尝试将用户提交的信息(联系表 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
}
}'

这是他们的文档

最终消费者在登录页面上输入详细信息。输入所有详细信息后,登录页面 POST 到我们 API 的 Initial Params 端点。我们的应用程序存储参数并生成唯一标识符。一旦创建初始参数的 API 调用成功,登录页面会自动重定向到调查网络应用程序,并将标识符设置为 URL 参数(例如,?identifier=xxx...) - 重要提示:我们的调查网络应用程序必须已收到此信息导入以便在消费者下线的情况下进行后续消息传递。因此,建议在创建初始参数后自动重定向到我们的调查 Web 应用程序,而不是需要单击按钮。当我们的调查网络应用程序加载时,它会查询我们的 API 以检索参数。有了参数信息,然后它将调查 Web 应用程序和 API 初始化为初始参数中指定的状态。每个输入完全满意的屏幕都会自动跳过。消费者在我们的调查网络应用程序上完成该过程。生成此标识符后,登录页面可以重定向到我们的调查 Web 应用程序。该标识符应通过标识符 URL 参数传递给我们的调查 Web 应用程序,这反过来将允许将提供的消费者详细信息加载到我们的应用程序中。示例链接:此标识符应通过标识符 URL 参数传递给我们的调查 Web 应用程序,这反过来又允许将提供的消费者详细信息加载到我们的应用程序中。示例链接:此标识符应通过标识符 URL 参数传递给我们的调查 Web 应用程序,这反过来又允许将提供的消费者详细信息加载到我们的应用程序中。示例链接: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. 提交表单时,如何使用最后的标识符重定向到他们的登录页面?该标识符是一个变量,并且每次都是唯一的,这意味着我必须在提交后以某种方式重定向到一个变量。

任何帮助深表感谢。

谢谢!

标签: wordpresscontact-form-7

解决方案


推荐阅读