Search by

Yooco-Apps SDK: Communities verbinden, Benachrichtigungen senden, Punkte buchen und Themes freischalten

v3.1.0 2026-11-06 18:58 UTC

This package is auto-updated.

Last update: 2026-11-06 17:59:18 UTC


README

Verbindet Communities mit deiner Anwendung. Über die API von Yooco-Apps sendet es Benachrichtigungen, bucht Punkte und schaltet Themes frei. Braucht PHP 8.1 oder neuer mit der Erweiterung curl.

Die vollständige Anleitung steht unter https://yooco-apps.de/entwickler.

Installieren

composer require yooco-apps/sdk

Community verbinden

use YoocoApps\OAuth;

$oauth = new OAuth([
    'clientId' => 'app_7Hf2kQ9xVb3mN8pR',
    'clientSecret' => getenv('YOOCO_CLIENT_SECRET'),
    'redirectUri' => 'https://pixelwerk.beispiel.de/yooco/callback',
]);

// 1. Admin zur Freigabe schicken, Verifier in der Sitzung merken
session_start();
[$url, $_SESSION['yooco_verifier']] = $oauth->authorizationUrl();

// 2. Nach der Rückkehr den Code gegen den Token tauschen
$result = $oauth->exchangeCode($_GET['code'], $_SESSION['yooco_verifier']);
// $result->accessToken, $result->community

Den Token speicherst du zur Community auf deinem Server. Er gilt, bis der Admin die Verbindung trennt. Behandle ihn wie ein Passwort und gib ihn nie an den Browser weiter.

API aufrufen

use YoocoApps\YoocoAppsConnection;
use YoocoApps\YoocoAppsException;

$yoocoApps = new YoocoAppsConnection($token);

$yoocoApps->notifications->send(['type' => 'nt_8fK2xQ7mLp4R', 'usernames' => ['Zhenya']]);
$yoocoApps->notificationTypes->list();
$yoocoApps->notificationTypes->update(['types' => ['nt_8fK2xQ7mLp4R'], 'available' => true]);
$yoocoApps->notificationTypes->update(['types' => ['nt_8fK2xQ7mLp4R'], 'enabled' => false]);
$yoocoApps->points->info();
$yoocoApps->points->change(['application' => 'apl_Fw7kQ2mLp4Rx', 'usernames' => ['Zhenya'], 'change' => 5]);
$yoocoApps->points->set(['application' => 'apl_Fw7kQ2mLp4Rx', 'usernames' => ['Zhenya'], 'points' => 100]);
$yoocoApps->points->balance(['usernames' => ['Zhenya', 'Kurt']]);
$yoocoApps->themes->list();
$yoocoApps->themes->unlock(['theme' => '3f0c2a5e-8b1d-4c7a-9e2f-6d4b1a7c9e03', 'usernames' => ['Zhenya'], 'application' => 'apl_Fw7kQ2mLp4Rx', 'reason' => 'Für den ersten Platz im Herbstquiz.']);

Jeder Aufruf gibt die Antwort der API als Objekt zurück. Mit 'allowPartial' => true führt die API aus, was klappt. Den Rest meldet sie in results. Bei allen anderen Fehlern wirft das SDK YoocoAppsException mit status, error, getMessage() und bei zu vielen Aufrufen retryAfter in Sekunden.

Umstieg von LiNetConnect

$result = $oauth->exchangeCommunityKey($oldCommunityKey);