Example Usage of
contact_list
|
Description: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
HTTP method: |
GET |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Supported output formats: |
xml, json, serialize |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Requires authentication: |
true |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Parameters: |
* indicates requirement. Underlined params include in URL, otherwise as part of the post body. POST data must be formatted as Content-Type: application/x-www-form-urlencoded . We don't accept any other input formats like JSON.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Example response: |
|
PHP Example
This is an example of using the contact_sync call with PHP. You can replicate the same idea in virtually any other programming language. The example shown is using serialize as the output format. You can change that to XML or JSON if you would like.
<?php
// By default, this sample code is designed to get the result
$url = 'https://api.t2connect.com/v1/';
// here we define the data we are posting in order to perform an update
$data = array(
'account' => 'YOUR_URL',
'api_key' => 'YOUR_API_KEY',
'api_action' => 'contact_list',
// define the type of output you wish to get back
// possible values:
// - 'xml' : you have to write your own XML parser
// - 'json' : data is returned in JSON format and can be decoded with
// json_decode() function (included in PHP since 5.2.0)
// - 'serialize' : data is returned in a serialized format and can be decoded with
// a native unserialize() function
'api_output' => 'serialize',
// a comma-separated list of IDs of contacts you wish to fetch
'ids' => '1,2,3,4,5', //can use "all" but depending on the list size, you could pull a large amount of data - which could take more time
// filters (optional): supply filters that will narrow down the results
// if any filters are set, don't pass the 'ids' parameter above
// Email address: exact match
//'filters[email]' => 'mike@test.com',
// List ID's associated with contact: exact match. Provide multiple values (performs an OR operation) like this: '4,7'
//'filters[listid]' => '4',
// First Name: exact match. Provide multiple values (performs an OR operation) like this: 'mike,john'
//'filters[first_name]' => 'mike',
// Last Name: exact match. Provide multiple values (performs an OR operation) like this: 'smith,jones'
//'filters[last_name]' => 'jones',
// Organization: exact match.
//'filters[organization]' => 'ABC Inc.',
// Contact ID: only include contacts with an ID greater than some integer
//'filters[id_greater]' => '44',
// Contact ID: only include contacts with an ID less than some integer
//'filters[id_less]' => '44',
// Segment ID to return only contacts that match a list segment
//'filters[segmentid]' => '13',
// Status of contact: exact match. Provide multiple values (performs an OR operation) like this: '0,1' (0: unconfirmed, 1: active, 2: unsubscribed)
//'filters[status]' => '1',
// Filter on contact tag using either the tag id or the tag name. Only one tag filter is allowed. Use a list segment for filtering based on multiple tags.
//'filters[tagid]' => '21',
// or
//'filters[tagname]' => 'my tag',
// Contacts ON (or AT) a specific date/time (set status param): pattern match - provide any portion of MySQL-formatted date/time string
//'filters[datetime]' => '2009-10-22',
// Contacts *since* a specified date in the past (set status param): exact match - provide MySQL-formatted date/time string
//'filters[since_datetime]' => '2009-10-22 00:00:00',
// Contacts *until* a specified date (set status param): exact match - provide MySQL-formatted date/time string
//'filters[until_datetime]' => '2009-10-23 00:00:00',
// Filter on custom field values (include the custom field ID, or personalization tag surrounded by percent signs)
//'filters[fields][%PERS_1%]' => 'value1 match',
// Filter on custom field values (include the custom field ID, or personalization tag surrounded by percent signs)
//'filters[fields][%PERS_2%]' => 'value2 match',
// whether or not to return ALL data, or an abbreviated portion (set to 0 for abbreviated)
'full' => 1,
// optional: change how results are sorted (default is below)
//'sort' => 'id', // possible values: id, datetime, first_name, last_name
//'sort_direction' => 'DESC', // ASC or DESC
//'page' => 2, // pagination - results are limited to 20 per page, so specify what page to view (default is 1)
);
//open connection
$ch = curl_init($url);
$json_data = json_encode($data);
curl_setopt($ch, CURLOPT_HEADER, 0); // set to 0 to eliminate header info from response
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // uncomment if you get no gateway response and are using HTTPS
$response = (string)curl_exec($ch); // execute curl post and store results in $response
//close connection
curl_close($ch);
// This line takes the response and breaks it into an array using:
// JSON decoder
//$result = json_decode($response);
// unserializer
$result = unserialize($response);
// XML parser...
// ...
// Result info that is always returned
echo 'Result: ' . ( $result['result_code'] ? 'SUCCESS' : 'FAILED' ) . '<br />';
echo 'Message: ' . $result['result_message'] . '<br />';
// The entire result printed out
echo 'The entire result printed out:<br />';
echo '<pre>';
print_r($result);
echo '</pre>';
// Raw response printed out
echo 'Raw response printed out:<br />';
echo '<pre>';
print_r($response);
echo '</pre>';
?>