* @link https://www.oxidmodule.com */ namespace D3\KlicktippPhpClient\Resources; use D3\KlicktippPhpClient\Entities\Subscription as SubscriptionEntity; use D3\KlicktippPhpClient\Entities\SubscriptionList; use D3\KlicktippPhpClient\Exceptions\BaseException; use GuzzleHttp\RequestOptions; class SubscriptionProcess extends Model { /** * @throws BaseException */ public function index(): SubscriptionList { $data = $this->connection->requestAndParse( 'GET', 'list.json' ); return new SubscriptionList($data); } /** * @throws BaseException */ public function get(string $listId): SubscriptionEntity { $data = $this->connection->requestAndParse( 'GET', 'list/'.urlencode(trim($listId)).'.json' ); return new SubscriptionEntity($data); } /** * @throws BaseException */ public function redirect(string $listId, string $email): string { return current( $this->connection->requestAndParse( 'POST', 'list/redirect.json', [ RequestOptions::FORM_PARAMS => [ 'listid' => trim($listId), 'email' => trim($email), ], ] ) ); } }