reizee / api
This package is auto-updated.
Last update: 2024-09-23 19:08:10 UTC
README
要求
- PHP 7.2 或更高版本
- cURL 支持
- Laravel 6+
安装
composer require reizee/api
发布配置文件
php artisan vendor:publish --provider="Reizee\Api\ReizeeApiServiceProvider" --tag="config"
认证
打开文件 config/reizee.php 并按示例进行配置
<?php return [ 'api' => [ 'version' => 'BasicAuth', 'BasicAuth' => [ 'baseUrl' => 'https://{DOMAIN}', 'userName' => 'USER', 'password' => 'PASSWORD', ], ] ];
如何使用
<?php // Authenticate $auth = \ReizeeApi::authenticate(); // Init the api Object $api = \ReizeeApi::newApi('contacts', $auth); // Create a contact and return the result $result = $api->create([ 'email' => 'contato@reizee.com.br', 'firstname' => 'Reizee', 'tags' => ['tag-1', 'tag-2'], 'custom_field_x' => 'custom' ]); ...
API
联系人
使用此端点来操作和获取 Reizee 联系人的详细信息。
<?php // Auth $auth = \ReizeeApi::authenticate(); // Init the api $api = \ReizeeApi::newApi('contacts', $auth);
获取联系人
<?php //... $contact = $api->get($id);
"contact": { "id": 47, "dateAdded": "2020-07-21T12:27:12-05:00", "createdBy": 1, "createdByUser": "Joe Smith", "dateModified": "2020-07-21T14:12:03-05:00", "modifiedBy": 1, "modifiedByUser": "Joe Smith", "owner": { "id": 1, "username": "joesmith", "firstName": "Joe", "lastName": "Smith" }, "points": 10, "lastActive": "2020-07-21T14:19:37-05:00", "dateIdentified": "2020-07-21T12:27:12-05:00", "color": "ab5959", "ipAddresses": { "111.111.111.111": { "ipAddress": "111.111.111.111", "ipDetails": { "city": "", "region": "", "country": "", "latitude": "", "longitude": "", "isp": "", "organization": "", "timezone": "" } } }, "fields": { "core": { "title": { "id": "1", "label": "Title", "alias": "title", "type": "lookup", "group": "core", "value": "Mr" }, "firstname": { "id": "2", "label": "First Name", "alias": "firstname", "type": "text", "group": "core", "value": "Jim" }, "...": { "..." : "..." } }, "social": { "twitter": { "id": "17", "label": "Twitter", "alias": "twitter", "type": "text", "group": "social", "value": "jimcontact" }, "...": { "..." : "..." } }, "personal": [], "professional": [], "all": { "title": "Mr", "firstname": "Jim", "twitter": "jimcontact", "...": "..." } } }
通过 ID 获取单个联系人。
HTTP 请求
GET /contacts/ID
响应
预期响应代码:200
请参阅 JSON 代码示例。
** 联系人属性 **
列出联系人
<?php //... $contacts = $api->getList($searchFilter, $start, $limit, $orderBy, $orderByDir, $publishedOnly, $minimal);
{
"total": "1",
"contacts": {
"47": {
"id": 47,
"isPublished": true,
"dateAdded": "2020-07-21T12:27:12-05:00",
"createdBy": 1,
"createdByUser": "Joe Smith",
"dateModified": "2020-07-21T14:12:03-05:00",
"modifiedBy": 1,
"modifiedByUser": "Joe Smith",
"owner": {
"id": 1,
"username": "joesmith",
"firstName": "Joe",
"lastName": "Smith"
},
"points": 10,
"lastActive": "2020-07-21T14:19:37-05:00",
"dateIdentified": "2020-07-21T12:27:12-05:00",
"color": "ab5959",
"ipAddresses": {
"111.111.111.111": {
"ipAddress": "111.111.111.111",
"ipDetails": {
"city": "",
"region": "",
"country": "",
"latitude": "",
"longitude": "",
"isp": "",
"organization": "",
"timezone": ""
}
}
},
"fields": {
"core": {
"title": {
"id": "1",
"label": "Title",
"alias": "title",
"type": "lookup",
"group": "core",
"value": "Mr"
},
"firstname": {
"id": "2",
"label": "First Name",
"alias": "firstname",
"type": "text",
"group": "core",
"value": "Jim"
},
"...": {
"..." : "..."
}
},
"social": {
"twitter": {
"id": "17",
"label": "Twitter",
"alias": "twitter",
"type": "text",
"group": "social",
"value": "jimcontact"
},
"...": {
"..." : "..."
}
},
"personal": [],
"professional": [],
"all": {
"title": "Mr",
"firstname": "Jim",
"twitter": "jimcontact",
"...": "..."
}
},
"tags": [{
"tag": "aTag"
},
{
"tag": "bTag"
}],
"utmtags" : [{
"id": 1,
"query": {
"page": "asd",
"cid": "fb1"
},
"referer": "https://example.com/",
"remoteHost": "example.com",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0",
"utmCampaign": "abcampaign",
"utmContent": "page",
"utmMedium": "social",
"utmSource": "fb",
"utmTerm": "test1"
}],
"doNotContact": [{
"id": 2,
"reason": 2,
"comments": "",
"channel": "email",
"channelId": null
}]
}
}
}
获取联系人列表。
HTTP 请求
GET /contacts
** 查询参数 **
高级过滤
在某些情况下,您可能想要根据特定值进行过滤。使用如下 URL 参数
在 PHP 中
$where = [ [ 'col' => 'phone', 'expr' => 'in', 'val' => '444444444,888888888', ] ];
此设计允许在同一个请求中添加多个条件。
如果您不使用 PHP,以下是上述代码的 URL 编码示例:GET https://[your_reizee_domain]/api/contacts?where%5B0%5D%5Bcol%5D=phone&where%5B0%5D%5Bexpr%5D=in&where%5B0%5D%5Bval%5D=444444444,888888888
响应
预期响应代码:200
请参阅 JSON 代码示例。
** 属性 **
与 获取联系人 相同。
创建联系人
<?php $data = array( 'firstname' => 'Jim', 'lastname' => 'Contact', 'email' => 'jim@his-site.com', 'ipAddress' => $_SERVER['REMOTE_ADDR'], 'overwriteWithBlank' => true, ); $contact = $api->create($data);
创建一个新的联系人。
HTTP 请求
POST /contacts/new
** 请求参数 **
响应
预期响应代码:201
** 属性 **
与 获取联系人 相同。
创建批量联系人
<?php $data = array( array( 'firstname' => 'Jim', 'lastname' => 'Contact', 'email' => 'jim@his-site.com', 'ipAddress' => $_SERVER['REMOTE_ADDR'] ), array( 'firstname' => 'John', 'lastname' => 'Doe', 'email' => 'john@his-site.com', 'ipAddress' => $_SERVER['REMOTE_ADDR'] ) ); $contact = $api->createBatch($data);
创建一批新的联系人。
HTTP 请求
POST /contacts/batch/new
** 请求参数 **
响应
预期响应代码:201
** 属性 **
联系人数组。记录与 获取联系人 相同。
编辑联系人
<?php $id = 1; $data = array( 'email' => 'jim-new-address@his-site.com', 'ipAddress' => $_SERVER['REMOTE_ADDR'], ); // Create new a contact of ID 1 is not found? $createIfNotFound = true; $contact = $api->edit($id, $data, $createIfNotFound);
编辑一个新的联系人。请注意,这支持 PUT 或 PATCH,具体取决于所需的行为。
** PUT ** 在给定的 ID 不存在时创建联系人,并清除所有联系人信息,然后添加请求中的信息。 PATCH 如果不存在具有给定 ID 的联系人,则失败,并使用请求中的值更新联系人字段值。
HTTP 请求
要编辑联系人并在联系人不存在时返回 404
PATCH /contacts/ID/edit
要编辑联系人并在联系人不存在时创建一个新的
PUT /contacts/ID/edit
** 请求参数 **
响应
如果 PUT,则如果编辑联系人,预期响应代码为 200;如果创建联系人,则预期响应代码为 201。
如果 PATCH,则预期响应代码为 200。
** 属性 **
与 获取联系人 相同。
注意:要删除联系人的标签,请在标签前添加减号
-。例如:tags: ['one', '-two']- 在请求体中发送此内容将在联系人中添加标签one并从联系人中删除标签two。
编辑批量联系人
<?php $data = array( array( 'id' => 1, 'firstname' => 'Jim', 'lastname' => 'Contact', 'email' => 'jim@his-site.com', 'ipAddress' => $_SERVER['REMOTE_ADDR'] ), array( 'id' => 1, 'firstname' => 'John', 'lastname' => 'Doe', 'email' => 'john@his-site.com', 'ipAddress' => $_SERVER['REMOTE_ADDR'] ) ); $contact = $api->editBatch($data);
在一个请求中编辑多个联系人。请注意,这支持 PUT 或 PATCH,具体取决于所需的行为。
PUT 在给定的 ID 不存在时创建联系人,并清除所有联系人信息,然后添加请求中的信息。 PATCH 如果不存在具有给定 ID 的联系人,则失败,并使用请求中的值更新联系人字段值。
HTTP 请求
要编辑联系人并在联系人不存在时返回 404
PATCH /contacts/batch/edit
要编辑联系人并在联系人不存在时创建一个新的
PUT /contacts/batch/edit
请求参数
响应
如果 PUT,则如果编辑联系人,预期响应代码为 200;如果创建联系人,则预期响应代码为 201。
如果 PATCH,则预期响应代码为 200。
属性
联系人数组。记录与获取联系人相同。
注意:要删除联系人的标签,请在标签前添加减号
-。例如:tags: ['one', '-two']- 在请求体中发送此内容将在联系人中添加标签one并从联系人中删除标签two。
删除联系人
<?php $contact = $api->delete($id);
删除一个联系人。
HTTP 请求
DELETE /contacts/ID/delete
响应
预期响应代码:200
** 属性 **
与 获取联系人 相同。
批量删除联系人
<?php $data = array(1, 2); $contact = $api->deleteBatch($data);
删除联系人。
HTTP 请求
DELETE /contacts/batch/delete
如果您不使用PHP,这里是一个URL示例
DELETE https://[您的Reizee域名]/api/contacts/batch/delete?ids=1,2
响应
预期响应代码:200
属性
联系人数组。记录与获取联系人相同。
添加勿扰
<?php $api->addDnc($contactId, $channel, $reason, $channelId, $comments);
{
"channelId": "26",
"reason": "Integration issued DNC",
"comments": "Unsubscribed via API"
}
将联系人添加到勿扰列表
HTTP 请求
要将勿扰条目添加到联系人中
POST /contacts/ID/dnc/CHANNEL/add
数据参数(可选)
响应
与 获取联系人 相同。
从勿扰中删除
<?php $api->removeDnc($contactId, $channel);
从勿扰列表中删除联系人
HTTP 请求
要从联系人中删除勿扰条目
POST /contacts/ID/dnc/CHANNEL/remove
数据参数(可选)
响应
与 获取联系人 相同。
添加UTM标签
<?php $data = array( 'utm_campaign' => 'apicampaign', 'utm_source' => 'fb', 'utm_medium' => 'social', 'utm_content' => 'fbad', 'utm_term' => 'reizee api', 'useragent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0', 'url' => '/product/fbad01/', 'referer' => 'https://google.com/q=reizee+api', 'query' => ['cid'=>'abc','cond'=>'new'], // or as string with "cid=abc&cond=new" 'remotehost' => 'example.com', 'lastActive' => '2020-01-17T00:30:08+00:00' ); $api->addUtm($contactId, $data);
向联系人添加UTM标签
HTTP 请求
要将UTM标签条目添加到联系人中
POST /contacts/ID/utm/add
UTM参数(必需)
虽然参数数组是必需的,但每个UTM标签条目是可选的。
响应
与获取联系人相同,但增加了UTM标签。
从联系人中删除UTM标签
<?php $api->removeUtm($contactId, $utmId);
从联系人中删除一组UTM标签
HTTP 请求
要从联系人中删除UTM标签
POST /contacts/ID/utm/UTMID/remove
数据参数
无要求。
响应
与获取联系人相同,但不包括已删除的UTM标签。
添加积分
<?php $data = array( 'eventName' => 'Score via api', 'actionName' => 'Adding', ); $api->addPoints($contactId, $pointDelta, $data);
添加联系人积分
HTTP 请求
向联系人添加积分,如果找不到线索则返回404
POST /contacts/ID/points/plus/POINTS
数据参数(可选)
响应
预期响应代码:200
{
"success": true
}
减去积分
<?php $data = array( 'eventname' => 'Score via api', 'actionname' => 'Subtracting', ); $api->subtractPoints($contactId, $pointDelta, $data);
减去联系人积分
HTTP 请求
从联系人中减去积分,如果找不到联系人则返回404
POST /contacts/ID/points/minus/POINTS
数据参数(可选)
响应
预期响应代码:200
{
"success": true
}
列出可用的所有者
<?php $owners = $api->getOwners();
[
{
"id": 1,
"firstName": "Joe",
"lastName": "Smith"
},
{
"id": 2,
"firstName": "Jane",
"lastName": "Smith"
}
]
获取可用于创建/编辑时分配联系人的所有者列表。
HTTP 请求
GET /contacts/list/owners
响应
预期响应代码:200
**所有者属性**
列出可用的字段
<?php $fields = $api->getFieldList();
{
"1": {
"id": 1,
"label": "Title",
"alias": "title",
"type": "lookup",
"group": "core",
"order": 1
},
"2": {
"id": 2,
"label": "First Name",
"alias": "firstname",
"type": "text",
"group": "core",
"order": 2
},
"3": {
"id": 3,
"label": "Last Name",
"alias": "lastname",
"type": "text",
"group": "core",
"order": 3
},
"...": {
"..." : "..."
}
}
获取包括自定义字段在内的可用联系人字段列表。
HTTP 请求
GET /contacts/list/fields
响应
预期响应代码:200
**字段属性**
列出联系人笔记
<?php $notes = $api->getContactNotes($id, $searchFilter, $start, $limit, $orderBy, $orderByDir, $publishedOnly, $minimal);
{
"total": 1,
"notes": [
{
"id": 1,
"text": "<p>Jim is super cool!</p>",
"type": "general",
"dateTime": "2020-07-23T13:14:00-05:00"
}
]
}
获取特定联系人的笔记列表。
HTTP 请求
GET /contacts/ID/notes
** 查询参数 **
响应
预期响应代码:200
**笔记属性**
获取段成员资格
<?php $segments = $api->getContactSegments($id);
{
"total": 1,
"segments": {
"3": {
"id": 3,
"name": "New Contacts",
"alias": "newcontacts"
}
}
}
获取联系人所在的联系人段列表。
HTTP 请求
GET /contacts/ID/segments
响应
预期响应代码:200
**列表属性**
更改列表成员资格
见段。
获取活动成员资格
<?php $campaigns = $api->getContactCampaigns($id);
{
"total": 1,
"campaigns": {
"1": {
"id": 1,
"name": "Welcome Campaign",
"dateAdded": "2020-07-21T14:11:47-05:00",
"manuallyRemoved": false,
"manuallyAdded": false,
"list_membership": [
3
]
}
}
}
获取联系人所在的活动列表。
HTTP 请求
GET /contacts/ID/campaigns
响应
预期响应代码:200
**列表属性**
更改活动成员资格
见活动。
获取联系人的事件
<?php $events = $api->getEvents($id, $search, $includeEvents, $excludeEvents, $orderBy, $orderByDir, $page);
警告:已弃用。请使用getActivityForContact代替。
** 查询参数 **
{
"events":[
{
"event":"lead.identified",
"icon":"fa-user",
"eventType":"Contact identified",
"eventPriority":-4,
"timestamp":"2020-06-09T21:39:08+00:00",
"featured":true
}
],
"filters":{
"search":"",
"includeEvents":[
"lead.identified"
],
"excludeEvents":[]
},
"order":[
"",
"ASC"
],
"types":{
"lead.ipadded":"Accessed from IP",
"asset.download":"Asset downloaded",
"campaign.event":"Campaign action triggered",
"lead.create":"Contact created",
"lead.identified":"Contact identified",
"lead.donotcontact":"Do not contact",
"email.read":"Email read",
"email.sent":"Email sent",
"email.failed":"Failed",
"form.submitted":"Form submitted",
"page.hit":"Page hit",
"point.gained":"Point gained",
"stage.changed":"Stage changed",
"lead.utmtagsadded":"UTM tags recorded",
"page.videohit":"Video View Event"
},
"total":1,
"page":1,
"limit":25,
"maxPages":1
}
获取联系人创建的事件列表。
HTTP 请求
GET /contacts/ID/events
警告:已弃用。请使用GET /contacts/ID/activity代替。
响应
预期响应代码:200
**列表属性**
获取特定联系人的活动事件
<?php $events = $api->getActivityForContact($id, $search, $includeEvents, $excludeEvents, $orderBy, $orderByDir, $page, $dateFrom, $dateTo);
** 查询参数 **
{
"events":[
{
"event":"lead.identified",
"icon":"fa-user",
"eventType":"Contact identified",
"eventPriority":-4,
"timestamp":"2020-06-09T21:39:08+00:00",
"featured":true
}
],
"filters":{
"search":"",
"includeEvents":[
"lead.identified"
],
"excludeEvents":[]
},
"order":[
"",
"ASC"
],
"types":{
"asset.download": "Asset downloaded",
"campaign.event": "Campaign action triggered",
"campaign.event.scheduled": "Campaign event scheduled",
"lead.donotcontact": "Do not contact",
"email.failed": "Email failed",
"email.read": "Email read",
"email.sent": "Email sent",
"form.submitted": "Form submitted",
"lead.imported": "Imported",
"page.hit": "Page hit",
"point.gained": "Point gained",
"stage.changed": "Stage changed",
"lead.utmtagsadded": "UTM tags recorded",
"page.videohit": "Video view event"
},
"total":1,
"page":1,
"limit":25,
"maxPages":1
}
获取联系人创建的事件列表。
HTTP 请求
GET /contacts/ID/activity
响应
预期响应代码:200
**列表属性**
获取所有联系人的活动事件
<?php $events = $api->getActivity($search, $includeEvents, $excludeEvents, $orderBy, $orderByDir, $page, $dateFrom, $dateTo);
** 查询参数 **
{
"events": [
{
"event": "meeting.attended",
"eventId": "meeting.attended65",
"eventLabel": "Attended meeting - Reizee instance",
"eventType": "Meeting attendance",
"timestamp": "2020-08-03T21:03:04+00:00",
"contactId": "12180",
"details": {
"eventName": "reizee-instance",
"eventId": "371343405",
"eventDesc": "Reizee instance",
"joinUrl": ""
}
},
{
"event": "webinar.attended",
"eventId": "webinar.attended67",
"eventLabel": "Attended webinar - Reizee",
"eventType": "Webinar attendance",
"timestamp": "2020-08-03T21:03:04+00:00",
"contactId": "12180",
"details": {
"eventName": "reizee",
"eventId": "530287395",
"eventDesc": "Reizee",
"joinUrl": ""
}
},
{
"event": "webinar.registered",
"eventId": "webinar.registered66",
"eventLabel": "Registered for webinar - Reizee",
"eventType": "Webinar registered for",
"timestamp": "2020-08-03T21:03:04+00:00",
"contactId": "12180",
"details": {
"eventName": "reizee",
"eventId": "530287395",
"eventDesc": "Reizee",
"joinUrl": "https://global.gotowebinar.com/join/xxx/xxx"
}
},
{
"event": "campaign.event",
"eventId": "campaign.event892",
"eventLabel": {
"label": "Contact field value \/ Campaign Date",
"href": "\/s\/campaigns\/view\/498"
},
"eventType": "Campaign action triggered",
"timestamp": "2020-08-03T00:58:25+00:00",
"contactId": "12281",
"details": {
"log": {
"dateTriggered": "2020-08-03T00:58:25+00:00",
"metadata": [],
"type": "lead.field_value",
"isScheduled": "0",
"logId": "892",
"eventId": "1457",
"campaignId": "498",
"eventName": "Contact field value",
"campaignName": "Campaign Date"
}
}
},
{
"event": "email.sent",
"eventId": "email.sent796",
"eventLabel": {
"label": "2020-05-23 - Email - Leads - Nurture Flow (Monica) 1",
"href": "http:\/\/reizee.dev\/email\/view\/597a116ae69ca",
"isExternal": true
},
"eventType": "Email sent",
"timestamp": "2020-07-27T16:14:34+00:00",
"contactId": "16419",
"details": {
"stat": {
"id": "796",
"dateSent": "2020-07-27T16:14:34+00:00",
"subject": "How to make the case for digital",
"isRead": "0",
"isFailed": "0",
"viewedInBrowser": "0",
"retryCount": "0",
"idHash": "597a116ae69ca",
"openDetails": [],
"storedSubject": "How to make the case for digital",
"timeToRead": false,
"emailId": "78",
"emailName": "2020-05-23 - Email - Leads - Nurture Flow (Monica) 1"
},
"type": "sent"
}
},
{
"event": "email.read",
"eventId": "email.read769",
"eventLabel": {
"label": "Custom Email: device test",
"href": "http:\/\/reizee.dev\/email\/view\/5966b0cd571f4",
"isExternal": true
},
"eventType": "Email read",
"timestamp": "2020-07-12T23:30:56+00:00",
"contactId": "13930",
"details": {
"stat": {
"id": "769",
"dateRead": "2020-07-12T23:30:56+00:00",
"dateSent": "2020-07-12T23:29:17+00:00",
"isRead": "1",
"isFailed": "0",
"viewedInBrowser": "0",
"retryCount": "0",
"idHash": "5966b0cd571f4",
"openDetails": [
{
"datetime": "2020-07-12 23:30:56",
"useragent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/59.0.3071.115 Safari\/537.36",
"inBrowser": false
},
{
"datetime": "2020-07-13 02:18:51",
"useragent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/59.0.3071.115 Safari\/537.36",
"inBrowser": false
}
],
"storedSubject": "device test",
"timeToRead": "PT1M39S"
},
"type": "read"
}
},
{
"event": "lead.ipadded",
"eventId": "lead.ipadded3263",
"eventLabel": "127.0.0.1",
"eventType": "Accessed from IP",
"timestamp": "2020-07-27T03:09:09+00:00",
"contactId": "3263",
"details": []
},
{
"event": "form.submitted",
"eventId": "form.submitted503",
"eventLabel": {
"label": "3586 Test",
"href": "\/s\/forms\/view\/143"
},
"eventType": "Form submitted",
"timestamp": "2020-07-27T03:09:07+00:00",
"contactId": "16417",
"details": {
"submission": {
"id": 503,
"ipAddress": {
"ip": "127.0.0.1"
},
"form": {
"id": 143,
"name": "3586 Test",
"alias": "3586_test"
},
"dateSubmitted": "2020-07-27T03:09:07+00:00",
"referer": "http:\/\/reizee.dev\/form\/143",
"results": {
"form_id": "143",
"email": "formtest7@test.com",
"f_name": ""
}
},
"form": {
"id": 143,
"name": "3586 Test",
"alias": "3586_test"
},
"page": {}
}
},
{
"event": "page.hit",
"eventLabel": {
"label": "Test",
"href": "\/s\/pages\/view\/8"
},
"eventType": "Page hit",
"timestamp": "2020-07-21T20:36:49+00:00",
"contactId": "16380",
"details": {
"hit": {
"userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/59.0.3071.115 Safari\/537.36",
"dateHit": "2020-07-21T20:36:49+00:00",
"url": "http:\/\/reizee.dev\/uncategorized\/translation-test1",
"query": {
"pageUrl": "http:\/\/reizee.dev\/uncategorized\/translation-test1"
},
"clientInfo": "a:6:{s:4:\"type\";s:7:\"browser\";s:4:\"name\";s:6:\"Chrome\";s:10:\"short_name\";s:2:\"CH\";s:7:\"version\";s:4:\"59.0\";s:6:\"engine\";s:5:\"Blink\";s:14:\"engine_version\";s:0:\"\";}",
"device": "desktop",
"deviceOsName": "Mac",
"deviceBrand": "",
"deviceModel": "",
"pageId": "8"
}
}
},
{
"event": "point.gained",
"eventLabel": "2: Page Hit Test \/ 20",
"eventType": "Point gained",
"timestamp": "2020-07-20T22:38:28+00:00",
"contactId": "16379",
"details": {
"log": {
"eventName": "2: Page Hit Test",
"actionName": "hit",
"dateAdded": "2020-07-20T22:38:28+00:00",
"type": "url",
"delta": "20",
"id": "2"
}
}
},
{
"event": "lead.imported",
"eventId": "lead.imported6324",
"eventType": "Imported",
"eventLabel": {
"label": "Contact import failed from FakeNameGenerator.com_20d05d9c.csv",
"href": "\/s\/contacts\/import\/view\/4"
},
"timestamp": "2020-07-17T21:42:35+00:00",
"details": {
"id": "6324",
"bundle": "lead",
"object": "import",
"action": "failed",
"properties": {
"line": 2001,
"file": "FakeNameGenerator.com_20d05d9c.csv",
"error": "No data found"
},
"userId": "2",
"userName": "Bob Smith",
"objectId": "4",
"dateAdded": "2020-07-17T21:42:35+00:00"
}
},
{
"event": "asset.download",
"eventId": "asset.download11",
"eventLabel": {
"label": "Download Reizee",
"href": "\/s\/assets\/view\/1"
},
"eventType": "Asset downloaded",
"timestamp": "2020-04-04T01:49:13+00:00",
"details": {
"asset": {
"id": 1,
"title": "Download Reizee",
"alias": "download-reizee",
"description": "test"
},
"assetDownloadUrl": "http:\/\/reizee.dev\/asset\/1:download-reizee"
}
},
],
"filters": {
"search": "",
"includeEvents": [],
"excludeEvents": []
},
"order": [
"timestamp",
"DESC"
],
"types": {
"lead.ipadded": "Accessed from IP",
"asset.download": "Asset downloaded",
"meeting.attended": "Attended meeting",
"webinar.attended": "Attended webinar",
"campaign.event": "Campaign action triggered",
"campaign.event.scheduled": "Campaign event scheduled",
"lead.donotcontact": "Do not contact",
"email.failed": "Email failed",
"email.read": "Email read",
"email.sent": "Email sent",
"form.submitted": "Form submitted",
"lead.imported": "Imported",
"page.hit": "Page hit",
"point.gained": "Point gained",
"meeting.registered": "Registered for meeting",
"webinar.registered": "Registration to Webinar",
"stage.changed": "Stage changed",
"lead.utmtagsadded": "UTM tags recorded",
"page.videohit": "Video view event"
},
"total": 12,
"page": 1,
"limit": 25,
"maxPages": 1
}
HTTP 请求
GET /contacts/activity
响应
预期响应代码:200
**列表属性**
获取联系人的公司
<?php $companies = $api->getContactCompanies($contactId); ```json { "total":1, "companies":[ { "company_id":"420", "date_associated":"2020-12-27 15:03:43", "is_primary":"0", "companyname":"test", "companyemail":"test@company.com", "companycity":"Raleigh", "score":"0", "date_added":"2020-12-27 15:03:42" } ] }
获取联系人所属的公司列表。
HTTP 请求
GET /contacts/ID/companies
响应
预期响应代码:200
列表属性
获取联系人的设备
<?php $devices = $api->getContactDevices($contactId); ```json { "total":1, "devices":[ { "id":60, "lead":[], "clientInfo":[], "device":"desktop", "deviceOsName":"Ubuntu", "deviceOsShortName":"UBT", "deviceOsPlatform":"x64" } ] }
获取联系人使用的设备列表。
HTTP 请求
GET /contacts/ID/devices
响应
预期响应代码:200
列表属性
公司
使用此端点获取Reizee公司的详细信息或操作联系人公司成员资格。
<?php // Auth $auth = \ReizeeApi::authenticate(); // Init the api $api = \ReizeeApi::newApi('companies', $auth);
获取公司
<?php //... $company = $api->get($id);
{
"company":{
"isPublished":true,
"dateAdded":"2020-10-25T09:46:36+00:00",
"createdBy":1,
"createdByUser":"John Doe",
"dateModified":null,
"modifiedBy":null,
"modifiedByUser":null,
"id":176,
"fields":{
"core":{
"companywebsite":{
"id":"91",
"label":"Website",
"alias":"companywebsite",
"type":"url",
"group":"core",
"field_order":"8",
"object":"company",
"value":null
},
[...]
},
"professional":{
"companyannual_revenue":{
"id":"90",
"label":"Annual Revenue",
"alias":"companyannual_revenue",
"type":"number",
"group":"professional",
"field_order":"10",
"object":"company",
"value":null
},
[...]
},
"other":[],
"all":{
"companywebsite":null,
"companycountry":null,
"companyzipcode":null,
"companystate":null,
"companycity":"Raleigh",
"companyphone":null,
"companyemail":"test@company.com",
"companyaddress2":null,
"companyaddress1":null,
"companyname":"test",
"companyannual_revenue":null,
"companyfax":null,
"companynumber_of_employees":null,
"companydescription":null
}
}
}
}
通过ID获取单个公司。
HTTP 请求
GET /companies/ID
响应
预期响应代码:200
请参阅 JSON 代码示例。
公司属性
列出联系人公司
<?php //... $companies = $api->getList($searchFilter, $start, $limit, $orderBy, $orderByDir, $publishedOnly, $minimal);
{
"total": 13,
"companies": {
"176": {
"isPublished":true,
"dateAdded":"2020-10-25T09:46:36+00:00",
"createdBy":1,
"createdByUser":"John Doe",
"dateModified":null,
"modifiedBy":null,
"modifiedByUser":null,
"id":176,
"fields":{
"core":{
"companywebsite":{
"id":"91",
"label":"Website",
"alias":"companywebsite",
"type":"url",
"group":"core",
"field_order":"8",
"object":"company",
"value":null
},
[...]
},
"professional":{
"companyannual_revenue":{
"id":"90",
"label":"Annual Revenue",
"alias":"companyannual_revenue",
"type":"number",
"group":"professional",
"field_order":"10",
"object":"company",
"value":null
},
[...]
},
"other":[],
"all":{
"companywebsite":null,
"companycountry":null,
"companyzipcode":null,
"companystate":null,
"companycity":"Raleigh",
"companyphone":null,
"companyemail":"test@company.com",
"companyaddress2":null,
"companyaddress1":null,
"companyname":"test",
"companyannual_revenue":null,
"companyfax":null,
"companynumber_of_employees":null,
"companydescription":null
}
}
},
[...]
}
}
返回用户可用的联系人公司列表。此列表不可筛选。
HTTP 请求
GET /companies
** 查询参数 **
响应
预期响应代码:200
请参阅 JSON 代码示例。
公司属性
创建公司
<?php $data = array( 'companyname' => 'test', 'companyemail' => 'test@company.com', 'companycity' => 'Raleigh', 'overwriteWithBlank' => true ); $company = $api->create($data);
创建一个新公司。
HTTP 请求
POST /companies/new
请求参数
响应
预期响应代码:201
属性
与获取公司相同。
编辑公司
<?php $id = 1; $data = array( 'companyname' => 'test', 'companyemail' => 'test@company.com', 'companycity' => 'Raleigh', ); // Create new a company of ID 1 is not found? $createIfNotFound = true; $company = $api->edit($id, $data, $createIfNotFound);
编辑新公司。注意,这支持PUT或PATCH,具体取决于所需的操作。
PUT:如果指定的ID不存在,将创建公司并清除所有公司信息,然后添加请求中的信息。PATCH:如果指定ID的公司不存在,将失败;如果存在,则更新公司字段值,使用请求中的值。
HTTP 请求
编辑公司并在找不到公司时返回404。
PATCH /companies/ID/edit
编辑公司,如果找不到公司则创建一个新公司。
PUT /companies/ID/edit
请求参数
响应
如果使用PUT,如果公司被编辑,则预期响应代码是200;如果创建,则是201。
如果 PATCH,则预期响应代码为 200。
属性
与获取公司相同。
删除公司
<?php $company = $api->delete($id);
删除公司。
HTTP 请求
DELETE /companies/ID/delete
响应
预期响应代码:200
属性
与获取公司相同。
向公司添加联系人
<?php //... $response = $api->addContact($companyId, $contactId); if (!isset($response['success'])) { // handle error }
{
"success": true
}
手动将联系人添加到特定公司。
HTTP 请求
POST /companies/COMPANY_ID/contact/CONTACT_ID/add
响应
预期响应代码:200
请参阅 JSON 代码示例。
从公司删除联系人
<?php //... $response = $api->removeContact($contactId, $companyId); if (empty($response['success'])) { // handle error }
{
"success": true
}
手动从特定公司删除联系人。
HTTP 请求
POST /companies/COMPANY_ID/contact/CONTACT_ID/remove
响应
预期响应代码:200
请参阅 JSON 代码示例。
活动
使用此端点获取关于Reizee活动的详细信息。
<?php // Auth $auth = \ReizeeApi::authenticate(); // Init the api $api = \ReizeeApi::newApi('campaigns', $auth);
获取活动
<?php //... $campaign = $api->get($id);
{
"campaign": {
"id": 3,
"name": "Email A/B Test",
"description": null,
"isPublished": true,
"publishUp": null,
"publishDown": null,
"dateAdded": "2020-07-15T15:06:02-05:00",
"createdBy": 1,
"createdByUser": "Joe Smith",
"dateModified": "2020-07-20T13:11:56-05:00",
"modifiedBy": 1,
"modifiedByUser": "Joe Smith",
"category": null,
"events": {
"28": {
"id": 28,
"type": "lead.changepoints",
"eventType": "action",
"name": "Adjust lead points",
"description": null,
"order": 1,
"properties": {
"points": 20
},
"triggerDate": null,
"triggerInterval": 1,
"triggerIntervalUnit": "d",
"triggerMode": "immediate",
"children": [],
"parent": null,
"decisionPath": null
}
}
}
}
通过ID获取单个活动。
HTTP 请求
GET /campaigns/ID
响应
预期响应代码:200
请参阅 JSON 代码示例。
活动属性
事件属性
列出活动
<?php // ... $campaigns = $api->getList($searchFilter, $start, $limit, $orderBy, $orderByDir, $publishedOnly, $minimal);
{
"total": 1,
"campaigns": {
"3": {
"id": 3,
"name": "Welcome Campaign",
"description": null,
"isPublished": true,
"publishUp": null,
"publishDown": null,
"dateAdded": "2020-07-15T15:06:02-05:00",
"createdBy": 1,
"createdByUser": "Joe Smith",
"dateModified": "2020-07-20T13:11:56-05:00",
"modifiedBy": 1,
"modifiedByUser": "Joe Smith",
"category": null,
"events": {
"22": {
"id": 22,
"type": "email.send",
"eventType": "action",
"name": "Send welcome email",
"description": null,
"order": 1,
"properties": {
"email": 1
},
"triggerMode": "immediate",
"triggerDate": null,
"triggerInterval": null,
"triggerIntervalUnit": null,
"children": [],
"parent": null,
"decisionPath": null
},
"28": {
"id": 28,
"type": "lead.changepoints",
"eventType": "action",
"name": "Adjust lead points",
"description": null,
"order": 2,
"properties": {
"points": 20
},
"triggerMode": "immediate",
"triggerDate": null,
"triggerInterval": null,
"triggerIntervalUnit": null,
"children": [],
"parent": null,
"decisionPath": null
}
}
}
}
}
HTTP 请求
GET /campaigns
查询参数
响应
预期响应代码:200
请参阅 JSON 代码示例。
属性
与获取活动相同。
列出活动联系人
此端点是基本别名,与具有指定'campaign_leads'表和campaign_id的统计端点相同。其他参数与统计端点相同。
<?php // ... $response = $api->getContacts($campaignId, $start, $limit, $order, $where);
{
"total":"1",
"contacts":[
{
"campaign_id":"311",
"lead_id":"3126",
"date_added":"2020-01-25 15:11:10",
"manually_removed":"0",
"manually_added":"1"
}
]
}
HTTP 请求
GET /campaigns/ID/contacts
查询参数
响应
预期响应代码:200
请参阅 JSON 代码示例。
创建活动
<?php $data = array( 'name' => 'Campaign A', 'description' => 'This is my first campaign created via API.', 'isPublished' => 1 ); $campaign = $api->create($data);
创建新的活动。要查看有关活动事件等的高级示例,请参阅单元测试。
HTTP 请求
POST /campaigns/new
请求参数
响应
预期响应代码:201
属性
与获取活动相同。
克隆活动
<?php $camnpaignId = 12; $campaign = $api->cloneCampaign($campaignId);
克隆现有活动。要查看有关活动事件等的高级示例,请参阅单元测试。
HTTP 请求
POST /campaigns/clone/CAMPAIGN_ID
响应
预期响应代码:201
属性
与获取活动相同。
编辑活动
<?php $id = 1; $data = array( 'name' => 'New campaign name', 'isPublished' => 0 ); // Create new a campaign of ID 1 is not found? $createIfNotFound = true; $campaign = $api->edit($id, $data, $createIfNotFound);
编辑新活动。注意,这支持PUT或PATCH,具体取决于所需的操作。
PUT:如果指定的ID不存在,将创建活动并清除所有活动信息,然后添加请求中的信息。PATCH:如果指定ID的活动不存在,则失败;如果存在,则更新活动字段值,使用请求中的值。
HTTP 请求
编辑活动并在找不到活动时返回404。
PATCH /campaigns/ID/edit
编辑活动并在找不到活动时创建一个新活动。
PUT /campaigns/ID/edit
请求参数
响应
如果使用PUT,如果活动被编辑,则预期响应代码是200;如果创建,则是201。
如果 PATCH,则预期响应代码为 200。
属性
与获取活动相同。
删除活动
<?php $campaign = $api->delete($id);
删除活动。
HTTP 请求
DELETE /campaigns/ID/delete
响应
预期响应代码:200
属性
与获取活动相同。
向活动添加联系人
<?php //... $response = $api->addContact($campaignId, $contactId); if (!isset($response['success'])) { // handle error }
{
"success": true
}
手动将联系人添加到特定活动。
HTTP 请求
POST /campaigns/CAMPAIGN_ID/contact/CONTACT_ID/add
响应
预期响应代码:200
请参阅 JSON 代码示例。
从活动删除联系人
<?php //... $response = $listApi->removeContact($campaignId, $contactId); if (!isset($response['success'])) { // handle error }
{
"success": true
}
手动从特定活动删除联系人。
HTTP 请求
POST /campaigns/CAMPAIGN_ID/contact/CONTACT_ID/remove
响应
预期响应代码:200
请参阅 JSON 代码示例。