FullContact Webhook 回调失败
FullContact Webhook Callback Fails
我正在使用 FullContact 卡 Reader API。据我所知,在发出处理名片的请求时,我需要向 FullContact API 发送一张名片图像以及一个 webhook。
发送脚本:
<?php
$APIkey = 'my FullContact api key';
$callback_url = 'https://www.my-domain.com/my-callback-listener.php';
$url = "https://api.fullcontact.com/v2/cardReader?format=json&webhookUrl=$callback_url;
$imageAsBase64 = base64_encode(file_get_contents('path-to-image-including-extension'));
$requestBody = array();
$requestBody['front'] = $imageAsBase64;
$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, $url);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($connection, CURLOPT_POST, true);
curl_setopt($connection, CURLOPT_POSTFIELDS, json_encode($requestBody));
curl_setopt($connection, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'X-FullContact-APIKey: $APIkey'));
$result = curl_exec($connection);
echo json_encode(array('result' => $result));
?>
回调监听脚本:
<?php
header('HTTP/1.1 200 OK');
?>
我知道发送脚本正在运行,因为 curl 结果包含由 FullContact API 分配的 ID。然后,当我通过在浏览器中手动输入以下 url 来引用该 ID 时:
https://api.fullcontact.com/v2/cardReader/{id-assigned-from-FullContact}?apiKey={my-FullContact-api-key}
这是我收到的:
{
"id": "id-assigned-from-FullContact",
"lastWebhookAttempt": "2017-03-20T18:41:57.000Z",
"vCardUrl": "https://d1h3f0foa0xzdz.cloudfront.net/2971518/special-link-to-vcf-card.vcf",
"status": "CALLBACK_FAILED",
"webhookAttempts": 5,
"webhookUrl": "https://www.my-domain.com/my-callback-listener.php",
"quality": "LOW",
"submitted": "2017-03-20T18:28:27.000Z",
"contact": {
"photos": [{
"primary": true,
"value": "https://d1h3f0foa0xzdz.cloudfront.net/2971518/special-link-to-image-of-business-card.png",
"type": "BusinessCard"
}],
"organizations": [{
"title": "Senior Sales Consultant",
"isPrimary": true,
"name": "Company ABC"
}],
"name": {
"middleName": null,
"honorificPrefix": null,
"familyName": "Meek",
"givenName": "Jack",
"honorificSuffix": null
},
"emails": [{
"value": "person@something.com",
"type": "Work"
}],
"phoneNumbers": [
{
"value": "+1 123-987-6543 ext. 5159069",
"type": "Work"
},
{
"value": "+1 123-456-6789",
"type": "Mobile"
},
{
"value": "886 123-4567",
"type": "Work Fax"
}
],
"addresses": [{
"region": null,
"streetAddress": "1234 Nowhere Dr,",
"formatted": null,
"postalCode": "48377",
"extendedAddress": null,
"locality": "Novi",
"type": "Work",
"country": "United States"
}]
}
}
您可以在上面的结果中看到 FullContact API 进行了 5 次尝试调用我的回调侦听器脚本,最终导致 CALLBACK_FAILED
。但是,我的回调脚本只包含 HTTP/1.1 200 OK
应该可以正常工作。这告诉我由于某种原因无法访问我的回调脚本。我的网站正在使用他们的共享托管平台 SSL 托管在 GoDaddy 上。
有人知道 GoDaddy 是否会阻止某些 Webhook 流量吗?任何帮助将不胜感激!
我尝试查看 FullContact 文档,但它未能提供有关 webhook 如何发回数据的任何明确细节。
所以我最终联系了我的虚拟主机 (GoDaddy) 和 FullContact。我有一个与 GoDaddy 共享的托管平台,因此他们限制了大量的端口号。 FullContact 向我保证他们只使用端口 80 或 443。
为了解决这个问题,我最终不得不创建一个本地 xampp 服务器并将其公开。然后我指示 FullContact 使用我的本地服务器作为我的 webhook。
我运行 进行了一些测试并使用php 提取了IP 地址、主机名和端口号。以下是结果:
测试 1。
主机地址:52.70.48.63
主机名:ec2-52-70-48-63.compute-1.amazonaws.com
端口号:63498
测试 2。
主机地址:52.70.48.63
主机名:ec2-52-70-48-63.compute-1.amazonaws.com
端口号:4169
测试 3.
主机地址:52.70.48.63
主机名:ec2-52-70-48-63.compute-1.amazonaws.com
端口号:61425
所有返回的端口号都被GoDaddy屏蔽了。我从 FullContact 接收数据的唯一方法是使用我的本地服务器。结案。希望这最终有一天能帮助别人!
我正在使用 FullContact 卡 Reader API。据我所知,在发出处理名片的请求时,我需要向 FullContact API 发送一张名片图像以及一个 webhook。
发送脚本:
<?php
$APIkey = 'my FullContact api key';
$callback_url = 'https://www.my-domain.com/my-callback-listener.php';
$url = "https://api.fullcontact.com/v2/cardReader?format=json&webhookUrl=$callback_url;
$imageAsBase64 = base64_encode(file_get_contents('path-to-image-including-extension'));
$requestBody = array();
$requestBody['front'] = $imageAsBase64;
$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, $url);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($connection, CURLOPT_POST, true);
curl_setopt($connection, CURLOPT_POSTFIELDS, json_encode($requestBody));
curl_setopt($connection, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'X-FullContact-APIKey: $APIkey'));
$result = curl_exec($connection);
echo json_encode(array('result' => $result));
?>
回调监听脚本:
<?php
header('HTTP/1.1 200 OK');
?>
我知道发送脚本正在运行,因为 curl 结果包含由 FullContact API 分配的 ID。然后,当我通过在浏览器中手动输入以下 url 来引用该 ID 时:
https://api.fullcontact.com/v2/cardReader/{id-assigned-from-FullContact}?apiKey={my-FullContact-api-key}
这是我收到的:
{
"id": "id-assigned-from-FullContact",
"lastWebhookAttempt": "2017-03-20T18:41:57.000Z",
"vCardUrl": "https://d1h3f0foa0xzdz.cloudfront.net/2971518/special-link-to-vcf-card.vcf",
"status": "CALLBACK_FAILED",
"webhookAttempts": 5,
"webhookUrl": "https://www.my-domain.com/my-callback-listener.php",
"quality": "LOW",
"submitted": "2017-03-20T18:28:27.000Z",
"contact": {
"photos": [{
"primary": true,
"value": "https://d1h3f0foa0xzdz.cloudfront.net/2971518/special-link-to-image-of-business-card.png",
"type": "BusinessCard"
}],
"organizations": [{
"title": "Senior Sales Consultant",
"isPrimary": true,
"name": "Company ABC"
}],
"name": {
"middleName": null,
"honorificPrefix": null,
"familyName": "Meek",
"givenName": "Jack",
"honorificSuffix": null
},
"emails": [{
"value": "person@something.com",
"type": "Work"
}],
"phoneNumbers": [
{
"value": "+1 123-987-6543 ext. 5159069",
"type": "Work"
},
{
"value": "+1 123-456-6789",
"type": "Mobile"
},
{
"value": "886 123-4567",
"type": "Work Fax"
}
],
"addresses": [{
"region": null,
"streetAddress": "1234 Nowhere Dr,",
"formatted": null,
"postalCode": "48377",
"extendedAddress": null,
"locality": "Novi",
"type": "Work",
"country": "United States"
}]
}
}
您可以在上面的结果中看到 FullContact API 进行了 5 次尝试调用我的回调侦听器脚本,最终导致 CALLBACK_FAILED
。但是,我的回调脚本只包含 HTTP/1.1 200 OK
应该可以正常工作。这告诉我由于某种原因无法访问我的回调脚本。我的网站正在使用他们的共享托管平台 SSL 托管在 GoDaddy 上。
有人知道 GoDaddy 是否会阻止某些 Webhook 流量吗?任何帮助将不胜感激!
我尝试查看 FullContact 文档,但它未能提供有关 webhook 如何发回数据的任何明确细节。
所以我最终联系了我的虚拟主机 (GoDaddy) 和 FullContact。我有一个与 GoDaddy 共享的托管平台,因此他们限制了大量的端口号。 FullContact 向我保证他们只使用端口 80 或 443。
为了解决这个问题,我最终不得不创建一个本地 xampp 服务器并将其公开。然后我指示 FullContact 使用我的本地服务器作为我的 webhook。
我运行 进行了一些测试并使用php 提取了IP 地址、主机名和端口号。以下是结果:
测试 1。
主机地址:52.70.48.63
主机名:ec2-52-70-48-63.compute-1.amazonaws.com
端口号:63498
测试 2。
主机地址:52.70.48.63
主机名:ec2-52-70-48-63.compute-1.amazonaws.com
端口号:4169
测试 3.
主机地址:52.70.48.63
主机名:ec2-52-70-48-63.compute-1.amazonaws.com
端口号:61425
所有返回的端口号都被GoDaddy屏蔽了。我从 FullContact 接收数据的唯一方法是使用我的本地服务器。结案。希望这最终有一天能帮助别人!