/** * @param $memberId * * @return UploadJobStatus * @throws UploadException */ public function getUploadTicket($memberId) { $compiledUrl = $this->baseUrl . '?member_id=' . $memberId; $response = $this->client->request('POST', $compiledUrl); $repositoryResponse = RepositoryResponse::fromResponse($response); if (!$repositoryResponse->isSuccessful()) { throw UploadException::failed($repositoryResponse); } if (!isset($repositoryResponse->getResponseAsArray()['response']['batch_segment_upload_job'])) { throw UploadException::missingIndex('response->batch_segment_upload_job'); } $uploadJob = UploadTicket::fromArray($repositoryResponse->getResponseAsArray()['response']['batch_segment_upload_job']); return $uploadJob; }