簡體   English   中英

iContact API:無法使“ updateContact” PHP函數正常工作

[英]iContact API: can't get “updateContact” PHP function to work

我需要使用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中存在錯誤,但無法發現它。 還是我想念一些愚蠢的東西? 有任何想法嗎?

iContact API期望使用以下格式的更新JSON字符串:

{"street2":"My second address"}  

但是,API包裝器以以下格式發送更新數據:

[{"street2":"My second address"}]  

因此,您需要在函數updateContact()中更改此行:

$oContact = $this->makeCall("/a/{$this->setAccountId()}/c/{$this->setClientFolderId()}/contacts/{$iContactId}", 'POST', array($aContact), 'contact');  

...對此:

$oContact = $this->makeCall("/a/{$this->setAccountId()}/c/{$this->setClientFolderId()}/contacts/{$iContactId}", 'POST', $aContact, 'contact');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM