我需要使用 iContact 的 API 来更新单个联系人记录中的街道地址。
API 在这里:https ://github.com/icontact/icontact-api-php
具体来说,我想更新street2
.
在 API 中,有一个“updateContact”函数,它接受 15 个参数。这是一个例子:
updateContact($currentContactId, null, null, null, null, null, null,'My second address', null, null, null, null, null, null, null);
API 会构建 URI,这样就可以了。它还将其设置为 POST(也可以;这就是 API 更新联系人所需的内容)。
以下是 API 构建的 URI 示例:
https://app.sandbox.icontact.com/icp/a/913463/c/133578/contacts/67295434
最后一位数字67295434
是联系人的唯一 ID。
BODY 请求看起来也不错:
[{"street2":"My second address"}]
但是curl_exec
我得到之后的 JSON 响应是这样的:
{"contact":
{
"contactId":"67295434",
"prefix":"Mr.",
"firstName":"Joe",
"lastName":"Williams",
"suffix":"Jr.",
"street":"2365 Meridian Parkway",
"street2":"",
"city":"Durham",
"state":"NC",
"postalCode":"27713",
"phone":"8668039462",
"fax":"",
"business":"iContact",
"email":"joewilliams@icontact.com",
"createDate":"2013-03-30 21:22:28",
"bounceCount":"","status":"normal",
"interestedinseo":"1",
"wheredoyoulive":"New York"
},
"warnings":["Invalid field: 0"]
}
我怀疑 API 中存在错误,但无法发现。还是我错过了一些愚蠢的东西?有什么想法吗?