label84/laravel-active-campaign

此包已被废弃,不再维护。作者建议使用 rossbearman/laravel-active-campaign 包。

将 Active Campaign 添加到您的 Laravel 应用程序中。

v1.2.1 2023-05-05 14:50 UTC

This package is auto-updated.

Last update: 2024-02-12 17:59:50 UTC


README

警告

此包不再维护。

我们已决定停止维护此包。我们不再使用 ActiveCampaign,也没有时间来维护此包。

建议的替代方案: https://github.com/rossbearman/laravel-active-campaign

您可以自由地 fork 我们的项目代码,并根据您的需求进行修改。

Laravel ActiveCampaign

Latest Stable Version MIT Licensed Total Downloads

此包提供对 ActiveCampaign API v3 的简单接口。

目前该包仅支持 ContactsCustom FieldsCustom Fields ValuesTagsLists 端点。请随意提交剩余端点的 PR。

Laravel 支持

版本 发布
10.x 1.2
9.x 1.1

安装

1. 通过 composer 安装包

composer require label84/laravel-active-campaign

2. 发布配置文件

php artisan vendor:publish --provider="Label84\ActiveCampaign\ActiveCampaignServiceProvider" --tag="config"

3. 将基础 URL 和 API 密钥添加到您的 .env 文件中

ACTIVE_CAMPAIGN_BASE_URL=
ACTIVE_CAMPAIGN_API_KEY=

用法

通过外观访问

use Label84\ActiveCampaign\Facades\ActiveCampaign;

// Usage
$contact = ActiveCampaign::contacts()->get(1);

直接从容器中解析

use Label84\ActiveCampaign\ActiveCampaign;

// Usage
$contact = resolve(ActiveCampaign::class)->contacts()->get(1);

通过 自动注入 注入到构造函数或方法中

use Label84\ActiveCampaign\ActiveCampaign;

class ContactController extends Controller
{
    public function __construct(private readonly ActiveCampaign $activeCampaign) { }

    // Usage
    $this->activeCampaign->contacts()->get(1);
}

示例

以下示例使用外观以简化操作,并假设已导入 Label84\ActiveCampaign\Facades\ActiveCampaign

联系人

检索现有联系人

$contact = ActiveCampaign::contacts()->get(1);

列出所有联系人,搜索联系人或根据查询定义的准则过滤联系人

有关可能的查询参数的完整列表,请参阅 API 文档。

$contacts = ActiveCampaign::contacts()->list();
$contactByEmail = ActiveCampaign::contacts()->list('email=info@example.com');
$singleList = ActiveCampaign::contacts()->list('listid=1');

创建新的联系人

$contactId = ActiveCampaign::contacts()->create('info@example.com', [
    'firstName' => 'John',
    'lastName' => 'Doe',
    'phone' => '+3112345678',
]);

如果不存在则创建联系人,或更新现有联系人

$contact = ActiveCampaign::contacts()->sync('info@example.com', [
    'firstName' => 'John',
    'lastName' => 'Doe',
    'phone' => '+3112345678',
]);

更新现有联系人

use Label84\ActiveCampaign\DataObjects\ActiveCampaignContact;

$contact = new ActiveCampaignContact(
    id: 1,
    email: 'info@example.com',
    phone: '+3112345678',
    firstName: 'John',
    lastName: 'Deer',
);

ActiveCampaign::contacts()->update($contact);

更新列表中联系人的状态

状态应为 1 表示订阅,2 表示未订阅

$contact = ActiveCampaign::contacts()->updateListStatus(
    contactId: 1,
    listId: 1,
    status: 1,
);

删除现有联系人

ActiveCampaign::contacts()->delete(1);

向联系人添加标签

$contactTagId = ActiveCampaign::contacts()->tag(
    id: 1,
    tagId: 20
);

从联系人中移除标签

ActiveCampaign::contacts()->untag(contactTagId: 2340);

自定义字段值

检索现有字段值

$fieldValue = ActiveCampaign::fieldValues()->get(50);

创建字段值

$fieldValueId = ActiveCampaign::fieldValues()->create(
    contactId: 1,
    fieldId: 50,
    value: 'active',
);

更新现有字段值

use Label84\ActiveCampaign\DataObjects\ActiveCampaignFieldValue;

$fieldValue = new ActiveCampaignFieldValue(
    contactId: 1,
    field: 50,
    value: 'inactive',
);

ActiveCampaign::fieldValues()->update($fieldValue);

删除现有字段值

ActiveCampaign::fieldValues()->delete(50);

自定义字段

检索现有字段

$field = ActiveCampaign::fields()->get(1);

创建字段

$fieldId = ActiveCampaign::fields()->create(
    type: 'textarea',
    title: 'about',
    description: 'Short introduction',
);

更新现有字段

use Label84\ActiveCampaign\DataObjects\ActiveCampaignField;

$fieldValue = new ActiveCampaignField(
    id: 1,
    type: 'textarea',
    title: 'about',
    description: 'Relevant skills',
);

ActiveCampaign::fields()->update($fieldValue);

删除现有字段

ActiveCampaign::fields()->delete(1);

标签

检索现有标签

$tag = ActiveCampaign::tags()->get(100);

列出所有标签,可选按名称过滤

$tags = ActiveCampaign::tags()->list();
$filteredTags = ActiveCampaign::tags()->list('test_');

创建标签

$tag = ActiveCampaign::tags()->create(
    name: 'test_tag',
    description: 'This is a new tag'
);

更新现有标签

use Label84\ActiveCampaign\DataObjects\ActiveCampaignTag;

$tag = new ActiveCampaignTag(
    id: 100,
    name: 'test_tag',
    description: 'Another description',
);

ActiveCampaign::tags()->update($tag);

删除现有标签

ActiveCampaign::tags()->delete(100);

测试

./vendor/bin/phpstan analyse

许可证

MIT