From b7cc3fd13d540b43c8ea62656bea48d8ca9fb44c Mon Sep 17 00:00:00 2001 From: Snider Date: Tue, 10 Mar 2026 08:48:03 +0000 Subject: [PATCH] feat: add Analytics, Biolinks, Pusher, Socialproof client classes Co-Authored-By: Claude Opus 4.6 --- src/Analytics/Client.php | 76 +++++++++++++++++++++++++++++ src/Biolinks/Client.php | 96 +++++++++++++++++++++++++++++++++++++ src/Pusher/Client.php | 97 ++++++++++++++++++++++++++++++++++++++ src/Socialproof/Client.php | 70 +++++++++++++++++++++++++++ 4 files changed, 339 insertions(+) create mode 100644 src/Analytics/Client.php create mode 100644 src/Biolinks/Client.php create mode 100644 src/Pusher/Client.php create mode 100644 src/Socialproof/Client.php diff --git a/src/Analytics/Client.php b/src/Analytics/Client.php new file mode 100644 index 0000000..3f07649 --- /dev/null +++ b/src/Analytics/Client.php @@ -0,0 +1,76 @@ +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); + } +} diff --git a/src/Biolinks/Client.php b/src/Biolinks/Client.php new file mode 100644 index 0000000..3794c26 --- /dev/null +++ b/src/Biolinks/Client.php @@ -0,0 +1,96 @@ +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); + } +} diff --git a/src/Pusher/Client.php b/src/Pusher/Client.php new file mode 100644 index 0000000..499658b --- /dev/null +++ b/src/Pusher/Client.php @@ -0,0 +1,97 @@ +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); + } +} diff --git a/src/Socialproof/Client.php b/src/Socialproof/Client.php new file mode 100644 index 0000000..4033c08 --- /dev/null +++ b/src/Socialproof/Client.php @@ -0,0 +1,70 @@ +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); + } +}