我已经集成了常用联系人API。在向特定列表添加联系人时它工作正常。我创建了5个不同的列表。当我将联系人添加到特定列表 我想删除此联系人表格其他列表,如果它已经存在。从常用联系人的特定列表中删除联系人API
请建议您是否有任何解决方案。
我已经集成了常用联系人API。在向特定列表添加联系人时它工作正常。我创建了5个不同的列表。当我将联系人添加到特定列表 我想删除此联系人表格其他列表,如果它已经存在。从常用联系人的特定列表中删除联系人API
请建议您是否有任何解决方案。
如果您使用PHP SDK,最简单的方法是访问联系人对象的列表属性,并删除不再希望用户订阅的列表对象。
您还可以清除所有列出这样:
// Clear all lists
$contact->lists = array();
// Add the particular list you want
$contact->addList('listId');
// Update Contact
$ctct->updateContact(ACCESS_TOKEN, $contact, false);
否则,你也可以使用deleteContactFromList($accessToken, $contact, $list)
方法,但这需要更多一点的工作,因为它需要双方的接触实体和清单实体(节只是ID)。所以基本上,一旦你得到了联系实体,它看起来像这样:
$contact = $ctct->getContactByEmail(ACCESS_TOKEN, $email_address)->results[0];
$listToDelete = new ContactList($listId);
$ctct->deleteContactFromList(ACCESS_TOKEN, $contact, $listToDelete);
希望帮助!
迈克
这里Bulk Activities - Remove Contacts Endpoint阅读文档后。
我采取了不同的方法。
我会布置逻辑和使用正确的CC API方法,当然,您可以动态地检索list_id并进行额外的检查(例如检查用户是否真的是列表的成员),但为此目的我试图只显示如何从列表中删除联系人,这是这里的主要思想。
我们开始吧。
composer.json
{ "require": { "constantcontact/constantcontact": "1.3.2" } }
我不得不因为它安装了PHP版本29年3月5日客户端服务器基础设施的使用旧Constant Contact API。
在终端导航到您的源根目录并运行composer update
。
当安装依赖关系时,我们准备好了。
在让我们举个例子我index.php
我会把这样的:
require_once('/vendor/autoload.php');
use Ctct\ConstantContact;
use Ctct\Services;
use Ctct\Components\Contacts\Contact;
use Ctct\Exceptions\CtctException;
define("APIKEY", "YOUR_API_KEY_HERE");//Write your API key
define("ACCESS_TOKEN", "YOUR_ACCESS_TOKEN_HERE");//Write your Access Token here
$cc = new ConstantContact(APIKEY);
$ca = new Services\ActivityService(APIKEY);
$error = 0;
try {
$response = $cc->getContactByEmail(ACCESS_TOKEN, $email);
if (empty($response->results)) {
//Create new contact if needed
} else {
$action = "Remove contact from subscribe list";
$contact = $response->results[0];
try {
$ca->addRemoveContactsFromListsActivity(
ACCESS_TOKEN,
array($contact->email_addresses[0]->email_address),
array('1894839946')//List Id from which you want the contact to be removed from
);
} catch (Exception $e) {
var_dump($e->getMessage());
}
/*
* The third parameter of updateContact defaults to false, but if this were set to true it would tell
* Constant Contact that this action is being performed by the contact themselves, and gives the ability to
* opt contacts back in and trigger Welcome/Change-of-interest emails.
*
* See: http://developer.constantcontact.com/docs/contacts-api/contacts-index.html#opt_in
*/
$returnContact = $cc->updateContact(ACCESS_TOKEN, $contact, true);
}
} catch (Exception $e) {
var_dump($e->getMessage());
}
希望它会帮助别人。干杯。
只需要注意'$ ctct = new ConstantContact(APIKEY);'使用建议的'deleteContactFromList()'效果很好! –