Skip to content

it-studio/centralnews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CentralNews API

API knihovna pro práci se systémem CentralNews.

Dokumentace implementace

Připojení k CentralNews probíhá dle této dokumentace: http://centralnews.itstudio.cz/bundles/centralnewssubscriber/doc/ws.pdf

Instalace

Composer: composer require itstudiocz/centralnews-api-php

Příklady použití

Vytvoření instance klienta

$params = array(
    CentralNews\Service\Client::URL => 'http://localhost',
    CentralNews\Service\Client::TOKEN => 'xxxxxxxxxxxxxxx',
    CentralNews\Service\Client::USER => 'user',
    CentralNews\Service\Client::PASSWORD => 'password',
);

$client = new CentralNews\Service\Client($params);

// proměnné použité dále v příkladech
$groupId = 1; // je číselný identifikátor skupiny (1,2, ..)
$email = "info@itstudio.cz"; // je platná emailová adresa

Vytvoření nové odběratelské skupiny

$newGroup = new CentralNews\Entity\SubscriberGroup();
$newGroup->setName('New Group');
$newGroup->setDescription('description');

$subscriberManager = $client->getSubscriberManager();
$subscriberManager->addGroup($newGroup);

Výpis odběratelských skupin

$subscriberManager = $client->getSubscriberManager();
$groups = $subscriberManager->getGroups();

Počet odběratelů

  • počet všech
$subscriberManager = $client->getSubscriberManager();
$count = $subscriberManager->getSubscribersCount();
  • počet ve skupině
$subscriberManager = $client->getSubscriberManager();
$group = new \CentralNews\Entity\Group($groupId);
$count = $subscriberManager->getSubscribersCount($group);

Informace o odběrateli

$group = new \CentralNews\Entity\Group($groupId);
$subscriberManager = $client->getSubscriberManager();
$subscriber = $subscriberManager->getSubscriber($email, $group);

Položky odběratele

  • všechny
$subscriberManager = $client->getSubscriberManager();
$data = $subscriberManager->getSubscriberFields();
  • ve skupině
$subscriberManager = $client->getSubscriberManager();
$group = new \CentralNews\Entity\Group($groupId);
$data = $subscriberManager->getSubscriberFields($group);

Vymazání odběratele ze skupiny

$group = new \CentralNews\Entity\Group($groupId);
$subscriberManager = $client->getSubscriberManager();
$subscriberManager->deleteSubscriber($email, $group);

Přidání odběratelů

  • když existují, aktualizují se jejich údaje
$subscribers[] = new CentralNews\Entity\Subscriber($email);
$group = new CentralNews\Entity\Group($groupId);
$subscriberManager = $client->getSubscriberManager();
$subscriberManager->saveSubscribers($subscribers, $group);
  • když odběratel existuje, přeskočí se (neaktualizuje se)
$subscribers[] = new CentralNews\Entity\Subscriber($email);
$group = new CentralNews\Entity\Group($groupId);
$subscriberManager = $client->getSubscriberManager();
$subscriberManager->importSubscribers($subscribers, $group);

Událost - opuštěný košík

$eventManager = $client->getEventManager();
$lostCart = new \CentralNews\Entity\LostCart();
$lostCart->setEmail($email);
$product = new CentralNews\Entity\Product();
$product->setName('product name');
$product->setPrice(100);
$lostCart->addProduct($product);
$eventManager->callLostCart($lostCart);

Odeslání vlastního požadavku

$manager = $client->getManager();
$request = new CentralNews\Service\Request($operation, $params);
$response = $manager->sendRequest($request);

About

API knihovna pro praci se systemem CentralNews

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages