client = $client; } public function getReceived($msgIds) { $queryParams = '?msg_ids='; if (is_array($msgIds) && !empty($msgIds)) { $msgIdsStr = implode(',', $msgIds); $queryParams .= $msgIdsStr; } elseif (is_string($msgIds)) { $queryParams .= $msgIds; } else { throw new InvalidArgumentException("Invalid msg_ids"); } $url = ReportPayload::REPORT_URL . $queryParams; return Http::get($this->client, $url); } public function getMessages($msgIds) { $queryParams = '?msg_ids='; if (is_array($msgIds) && !empty($msgIds)) { $msgIdsStr = implode(',', $msgIds); $queryParams .= $msgIdsStr; } elseif (is_string($msgIds)) { $queryParams .= $msgIds; } else { throw new InvalidArgumentException("Invalid msg_ids"); } $url = ReportPayload::MESSAGES_URL . $queryParams; return Http::get($this->client, $url); } public function getUsers($time_unit, $start, $duration) { $time_unit = strtoupper($time_unit); if (!in_array($time_unit, self::$EFFECTIVE_TIME_UNIT)) { throw new InvalidArgumentException('Invalid time unit'); } $url = ReportPayload::USERS_URL . '?time_unit=' . $time_unit . '&start=' . $start . '&duration=' . $duration; return Http::get($this->client, $url); } }