it-studio/centralnews

There is no license information available for the latest version (v1.0) of this package.

API knihovna pro praci se systemem CentralNews

v1.0 2015-11-27 12:31 UTC

This package is not auto-updated.

Last update: 2024-05-07 17:10:23 UTC


README

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);