haltuf/ecomail-nette 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

haltuf/ecomail-nette

Composer 安装命令:

composer require haltuf/ecomail-nette

包简介

Independent Ecomail API wrapper for Nette

README 文档

README

Jednoduchá implementace Ecomail API pro Nette, pokrývá jen část rozsahu celého API. Za případné rozšíření budu rád, v současné chvíli jsem pro ostatní funkce neměl využití.

Autor nemá žádné spojení s firmou Ecomail ani s Nette Framework.

Požadavky

  • PHP 7.4-8.4 a Nette 3 (v0.2)

Instalace

Nejjednodušším způsobem instalace je přidat pomocí příkazu

composer require haltuf/ecomail-nette

Použtí

Do souboru config.neon přidejte následující řádky:

extensions:
	ecomail: Ecomail\Extension

ecomail:
	key: YOUR_KEY_HERE

Službu si injectněte do Presenteru:

	#[Inject]
	public Ecomail\Ecomail $ecomail;

případně pokud stále používáte PHP 7.4, tak:

	/** @inject */
	public Ecomail\Ecomail ecomail;

A následně můžete používat:

	// Seznamy kontaktů
	// ----------------
	// získá všechny seznamy kontaktů
	$this->ecomail->getLists();

	// získá konkrétní seznam kontaktů
	$this->ecomail->getList(1);

	// získá odběratele newsletteru, stránkování funguje po 20
	$this->ecomail->getSubscribers(1, $page);

	// získá konkrétního odběratele ze seznamu kontaktů ID 1
	$this->ecomail->getSubscriber(1, 'example@example.com');

	// vytvoří nového odběratele, pokud existuje, tak ho upraví
	// pro seznam všech možných hodnot se podívejte na kód funkce
	$this->ecomail->addSubscriber(1, array('email' => 'example@example.com'), false, true, true);

	// smazání odběratele
	$this->ecomail->deleteSubscriber(1, 'example@example.com');
	
	// aktualizace odběratele
	$this->ecomail->updateSubscriber(1, array('email' => 'example@example.com', 'name' => 'Nové jméno'));

	// Kampaně
	// -------
	// získá všechny kampaně
	$this->ecomail->getCampaigns();
	
	// získá konkrétní kampaň
	$this->ecomail->getCampaign('campaign_id');
	
	// vytvoří novou kampaň
	$this->ecomail->createCampaign(array('name' => 'Nová kampaň', 'subject' => 'Předmět', 'list_id' => 1));
	
	// aktualizuje existující kampaň
	$this->ecomail->updateCampaign('campaign_id', array('name' => 'Upravená kampaň'));
	
	// odešle kampaň
	$this->ecomail->sendCampaign('campaign_id');
	
	// Šablony
	// -------
	// získá konkrétní šablonu
	$this->ecomail->getTemplate('template_id');
	
	// vytvoří novou šablonu
	$this->ecomail->createTemplate(array('name' => 'Nová šablona', 'content' => '<html>...</html>'));
	
	// Automatizace (Pipelines)
	// -----------------------
	// získá všechny automatizace
	$this->ecomail->getPipelines();
	
	// získá konkrétní automatizaci
	$this->ecomail->getPipeline('pipeline_id');
	
	// spustí automatizaci pro konkrétní e-mail
	$this->ecomail->triggerPipeline('pipeline_id', 'example@example.com');
	
	// Domény
	// ------
	// získá všechny domény
	$this->ecomail->getDomains();
	
	// vytvoří novou doménu
	$this->ecomail->createDomain(array('domain' => 'example.com'));
	
	// smaže doménu
	$this->ecomail->deleteDomain('domain_id');
	
	// Transakční e-maily
	// -----------------
	// odešle transakční e-mail
	$this->ecomail->sendTransactionalMessage(array(
		'to' => 'recipient@example.com',
		'subject' => 'Předmět',
		'from_email' => 'sender@example.com',
		'from_name' => 'Odesílatel',
		'html' => '<p>Obsah e-mailu</p>'
	));
	
	// odešle transakční e-mail pomocí šablony
	$this->ecomail->sendTransactionalTemplate(array(
		'to' => 'recipient@example.com',
		'template_id' => 'template_id',
		'from_email' => 'sender@example.com',
		'from_name' => 'Odesílatel',
		'variables' => array('var1' => 'hodnota1')
	));
	
	// Transakce
	// ---------
	// vytvoří novou transakci
	$this->ecomail->createTransaction(
		array('email' => 'customer@example.com', 'order_id' => '123', 'amount' => 1000),
		array(array('code' => 'PROD1', 'title' => 'Produkt 1', 'price' => 1000, 'quantity' => 1))
	);
	
	// aktualizuje existující transakci
	$this->ecomail->updateTransaction(
		'123',
		array('email' => 'customer@example.com', 'amount' => 1500),
		array(array('code' => 'PROD1', 'title' => 'Produkt 1', 'price' => 1500, 'quantity' => 1))
	);
	
	// smaže transakci
	$this->ecomail->deleteTransaction('123');
	
	// Globální operace s odběrateli
	// ----------------------------
	// získá informace o odběrateli napříč všemi seznamy
	$this->ecomail->getGlobalSubscriber('example@example.com');
	
	// smaže odběratele ze všech seznamů
	$this->ecomail->deleteGlobalSubscriber('example@example.com');
	
	// Vyhledávání
	// ----------
	// vyhledá odběratele podle e-mailu
	$this->ecomail->search('example@example.com');
	
	// Webhook
	// -------
	// nastaví webhook URL
	$this->ecomail->setWebhook('https://example.com/webhook');
	
	// získá aktuální webhook URL
	$this->ecomail->getWebhook();
	
	// smaže webhook URL
	$this->ecomail->deleteWebhook();

haltuf/ecomail-nette 适用场景与选型建议

haltuf/ecomail-nette 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6.15k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2017 年 01 月 25 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「api」 「nette」 「Ecomail」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 haltuf/ecomail-nette 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 haltuf/ecomail-nette 我们能提供哪些服务?
定制开发 / 二次开发

基于 haltuf/ecomail-nette 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 6.15k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2017-01-25