feat: add Analytics, Biolinks, Pusher, Socialproof client classes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Snider 2026-03-10 08:48:03 +00:00
parent 337d9658bc
commit b7cc3fd13d
4 changed files with 339 additions and 0 deletions

76
src/Analytics/Client.php Normal file
View file

@ -0,0 +1,76 @@
<?php
declare(strict_types=1);
namespace Core\Plug\Altum\Analytics;
use Core\Plug\Altum\AltumClient;
/**
* 66analytics API client.
*
* Resources: websites, pageviews-lightweight, visitors, goals,
* goals-conversions, annotations, statistics, domains, users-logs
*/
class Client extends AltumClient
{
public function websites(array $params = []): array
{
return $this->listResource('websites', $params);
}
public function website(int $id): array
{
return $this->getResource('websites', $id);
}
public function createWebsite(array $data): array
{
return $this->createResource('websites', $data);
}
public function updateWebsite(int $id, array $data): array
{
return $this->updateResource('websites', $id, $data);
}
public function deleteWebsite(int $id): array
{
return $this->deleteResource('websites', $id);
}
public function statistics(array $params = []): array
{
return $this->listResource('statistics', $params);
}
public function pageviews(array $params = []): array
{
return $this->listResource('pageviews-lightweight', $params);
}
public function visitors(array $params = []): array
{
return $this->listResource('visitors', $params);
}
public function goals(array $params = []): array
{
return $this->listResource('goals', $params);
}
public function createGoal(array $data): array
{
return $this->createResource('goals', $data);
}
public function annotations(array $params = []): array
{
return $this->listResource('annotations', $params);
}
public function createAnnotation(array $data): array
{
return $this->createResource('annotations', $data);
}
}

96
src/Biolinks/Client.php Normal file
View file

@ -0,0 +1,96 @@
<?php
declare(strict_types=1);
namespace Core\Plug\Altum\Biolinks;
use Core\Plug\Altum\AltumClient;
/**
* 66biolinks API client.
*
* Resources: links, statistics, projects, pixels, splash-pages,
* qr-codes, data, notification-handlers, domains, teams, team-members, users-logs
*/
class Client extends AltumClient
{
public function links(array $params = []): array
{
return $this->listResource('links', $params);
}
public function link(int $id): array
{
return $this->getResource('links', $id);
}
public function createLink(array $data): array
{
return $this->createResource('links', $data);
}
public function updateLink(int $id, array $data): array
{
return $this->updateResource('links', $id, $data);
}
public function deleteLink(int $id): array
{
return $this->deleteResource('links', $id);
}
public function linkStatistics(int $linkId): array
{
return $this->getResource('statistics', $linkId);
}
public function allStatistics(array $params = []): array
{
return $this->listResource('statistics', $params);
}
public function projects(array $params = []): array
{
return $this->listResource('projects', $params);
}
public function createProject(array $data): array
{
return $this->createResource('projects', $data);
}
public function pixels(array $params = []): array
{
return $this->listResource('pixels', $params);
}
public function createPixel(array $data): array
{
return $this->createResource('pixels', $data);
}
public function qrCodes(array $params = []): array
{
return $this->listResource('qr-codes', $params);
}
public function createQrCode(array $data): array
{
return $this->createResource('qr-codes', $data);
}
public function splashPages(array $params = []): array
{
return $this->listResource('splash-pages', $params);
}
public function domains(array $params = []): array
{
return $this->listResource('domains', $params);
}
public function teams(array $params = []): array
{
return $this->listResource('teams', $params);
}
}

97
src/Pusher/Client.php Normal file
View file

@ -0,0 +1,97 @@
<?php
declare(strict_types=1);
namespace Core\Plug\Altum\Pusher;
use Core\Plug\Altum\AltumClient;
/**
* 66pusher API client.
*
* Resources: websites, subscribers, subscribers-statistics, subscribers-logs,
* campaigns, personal-notifications, rss-automations, recurring-campaigns,
* flows, segments, notification-handlers, domains, users-logs
*/
class Client extends AltumClient
{
public function websites(array $params = []): array
{
return $this->listResource('websites', $params);
}
public function subscribers(array $params = []): array
{
return $this->listResource('subscribers', $params);
}
public function subscriberStatistics(int $websiteId): array
{
return $this->getResource('subscribers-statistics', $websiteId);
}
public function campaigns(array $params = []): array
{
return $this->listResource('campaigns', $params);
}
public function campaign(int $id): array
{
return $this->getResource('campaigns', $id);
}
public function createCampaign(array $data): array
{
return $this->createResource('campaigns', $data);
}
public function updateCampaign(int $id, array $data): array
{
return $this->updateResource('campaigns', $id, $data);
}
public function deleteCampaign(int $id): array
{
return $this->deleteResource('campaigns', $id);
}
public function personalNotifications(array $params = []): array
{
return $this->listResource('personal-notifications', $params);
}
public function createPersonalNotification(array $data): array
{
return $this->createResource('personal-notifications', $data);
}
public function flows(array $params = []): array
{
return $this->listResource('flows', $params);
}
public function createFlow(array $data): array
{
return $this->createResource('flows', $data);
}
public function segments(array $params = []): array
{
return $this->listResource('segments', $params);
}
public function createSegment(array $data): array
{
return $this->createResource('segments', $data);
}
public function rssAutomations(array $params = []): array
{
return $this->listResource('rss-automations', $params);
}
public function recurringCampaigns(array $params = []): array
{
return $this->listResource('recurring-campaigns', $params);
}
}

View file

@ -0,0 +1,70 @@
<?php
declare(strict_types=1);
namespace Core\Plug\Altum\Socialproof;
use Core\Plug\Altum\AltumClient;
/**
* 66socialproof API client.
*
* Resources: statistics, campaigns, notifications, notification-handlers, users-logs
*/
class Client extends AltumClient
{
public function statistics(array $params = []): array
{
return $this->listResource('statistics', $params);
}
public function campaigns(array $params = []): array
{
return $this->listResource('campaigns', $params);
}
public function campaign(int $id): array
{
return $this->getResource('campaigns', $id);
}
public function createCampaign(array $data): array
{
return $this->createResource('campaigns', $data);
}
public function updateCampaign(int $id, array $data): array
{
return $this->updateResource('campaigns', $id, $data);
}
public function deleteCampaign(int $id): array
{
return $this->deleteResource('campaigns', $id);
}
public function notifications(array $params = []): array
{
return $this->listResource('notifications', $params);
}
public function notification(int $id): array
{
return $this->getResource('notifications', $id);
}
public function createNotification(array $data): array
{
return $this->createResource('notifications', $data);
}
public function updateNotification(int $id, array $data): array
{
return $this->updateResource('notifications', $id, $data);
}
public function deleteNotification(int $id): array
{
return $this->deleteResource('notifications', $id);
}
}