adnanhussainturki / listmonk-php
该软件包旨在简化从基于PHP的应用程序调用ListMonk API
0.1
2023-11-12 00:45 UTC
Requires
- guzzlehttp/guzzle: ^7.8
README
该软件包允许从基于PHP的应用程序轻松访问ListMonk API。
安装
您可以通过以下命令使用composer将此库安装到项目中:
composer require adnanhussainturki/listmonk-php
用法
<?php require __DIR__ . 'vendor/autoload.php'; // Create a new ListMonk instance $listMonk = new \AdnanHussainTurki\ListMonk\ListMonk( "http://localhost:9000", // Server URL "listmonk", // Username "listmonk", // Password ); ?>
管理列表
// Get all lists $lists = $listMonk->lists()->getAll(); echo "All lists:\n"; foreach ($lists as $list) { echo $list->getId() . " - " . $list->getName() . "\n"; } // Get a list by id $list = $listMonk->lists()->get(3); echo "List with id 3:\n"; echo $list->getId() . " - " . $list->getName() . "\n"; // Create a new list $newList = new \AdnanHussainTurki\ListMonk\Models\MonkList(); $newList->setName("Test List"); $newList->setType("private"); $newList->setOptin("single"); $newList->setTags(["test", "list"]); $newListMonk = $listMonk->lists()->create($newList); echo "New list created:\n"; echo $newListMonk->getId(). " - " . $newListMonk->getName() . "\n"; // Update the created list $newListMonk->setName("Test List Updated"); $newListMonk->setType("public"); $newListMonk->setOptin("double"); $newListMonk->setTags(["test", "list", "updated"]); $updatedList = $listMonk->lists()->update($newListMonk); echo "Updated list:\n"; echo $updatedList->getId(). " - " . $updatedList->getName() . "\n"; // Delete the created list $deletedList = $listMonk->lists()->delete($updatedList->getId()); echo "List deleted:\n"; echo $deletedList->getId(). " - " . $deletedList->getName() . "\n";
管理订阅者
<?php require_once __DIR__ . '/init.php'; // Get all subscribers $subscribers = $listMonk->subscribers()->getAll(); echo "All subscribers:\n"; foreach ($subscribers as $subscriber) { echo $subscriber->getId() . " - " . $subscriber->getName() . "\n"; } // Get a subscriber by id $subscriber = $listMonk->subscribers()->get(5); echo "Subscriber with id 1:\n"; echo $subscriber->getId() . " - " . $subscriber->getName() . "\n"; // Create a new subscriber $newSubscriber = new \AdnanHussainTurki\ListMonk\Models\MonkSubscriber(); $newSubscriber->setName("Test Subscriber"); $newSubscriber->setEmail(random_int(23, 1000). "@gmail.com"); $newSubscriber->setStatus("enabled"); $newSubscriber->setLists([1, 2]); $newSubscriberMonk = $listMonk->subscribers()->create($newSubscriber); echo "New subscriber created:\n"; echo $newSubscriberMonk->getId(). " - " . $newSubscriberMonk->getName() . "\n"; // Update the created subscriber $newSubscriberMonk->setName("Test Subscriber Updated"); $newSubscriberMonk->setEmail(random_int(23, 1000). "@email.com"); $newSubscriberMonk->setStatus("disabled"); $newSubscriberMonk->setLists([1, 2, 3]); $updatedSubscriber = $listMonk->subscribers()->update($newSubscriberMonk); echo "Updated subscriber:\n"; echo $updatedSubscriber->getId(). " - " . $updatedSubscriber->getName() . "\n"; // Delete the created subscriber $deletedSubscriber = $listMonk->subscribers()->delete($updatedSubscriber->getId()); echo "Subscriber deleted:\n"; echo $deletedSubscriber->getId(). " - " . $deletedSubscriber->getName() . "\n";
还需要做什么?
- 尚未处理
Subscriber
的所有路由。 - 需要实现
Campaign
。 - 需要实现
Media
。 - 需要实现
Import
。 - 需要实现
Template
。 - 需要实现
Transactional
。
请给我买杯咖啡
如何贡献
- 创建一个分支,进行更改并提交拉取请求。
- 提出一个问题
许可证
Apache 2.0 许可。您可以在这里查看其详细信息。