adnanhussainturki/listmonk-php

该软件包旨在简化从基于PHP的应用程序调用ListMonk API

0.1 2023-11-12 00:45 UTC

This package is auto-updated.

Last update: 2024-09-12 22:47:57 UTC


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 许可。您可以在这里查看其详细信息。