http = $http; } /** @return array */ public function list(string $sessionId): array { return $this->http->request('GET', "/api/sessions/{$this->http->encodeSegment($sessionId)}/status") ?? []; } /** @return array */ public function fromContact(string $sessionId, string $contactId): array { return $this->http->request('GET', "/api/sessions/{$this->http->encodeSegment($sessionId)}/status/{$this->http->encodeSegment($contactId)}") ?? []; } /** * @param array $body Body must include a required `recipients` key * (list of recipient JIDs; empty -> 400). * @return array */ public function sendText(string $sessionId, array $body): array { return $this->http->request('POST', "/api/sessions/{$this->http->encodeSegment($sessionId)}/status/send-text", [], $body); } /** * @param array $body Body must include a required `recipients` key * (list of recipient JIDs; empty -> 400). * @return array */ public function sendImage(string $sessionId, array $body): array { return $this->http->request('POST', "/api/sessions/{$this->http->encodeSegment($sessionId)}/status/send-image", [], $body); } /** * @param array $body Body must include a required `recipients` key * (list of recipient JIDs; empty -> 400). * @return array */ public function sendVideo(string $sessionId, array $body): array { return $this->http->request('POST', "/api/sessions/{$this->http->encodeSegment($sessionId)}/status/send-video", [], $body); } public function delete(string $sessionId, string $statusId): void { $this->http->request('DELETE', "/api/sessions/{$this->http->encodeSegment($sessionId)}/status/{$this->http->encodeSegment($statusId)}"); } }