/** * @return StatusPingTransfer */ public function ping() { $endpoint = new Ping($this->getTransport()); $result = $endpoint->performRequest(); Response::checkBody($result); return StatusPingTransfer::make($result['json']); }
/** * @param WarehouseAddTransfer $data * * @return int * @throws \Hitmeister\Component\Api\Exceptions\ServerException * */ public function post(WarehouseAddTransfer $data) { $endpoint = new Post($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); return Response::extractId($resultRequest, '/warehouses/%d/'); }
/** * @param int $orderUnitId * @param string $text * @return int */ public function post($orderUnitId, $text) { $data = new ClaimAddTransfer(); $data->id_order_unit = (int) $orderUnitId; $data->text = $text; $endpoint = new Post($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); return Response::extractId($resultRequest, '/claims/%d/'); }
/** * @param int $claimId * @param string $text * @return int */ public function post($claimId, $text) { $data = new ClaimMessageAddTransfer(); $data->id_claim = (int) $claimId; $data->text = $text; $endpoint = new Post($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); return Response::extractId($resultRequest, '/claim-messages/%d/'); }
/** * @param string $url * @param string $type * @return int */ public function post($url, $type = 'COMMAND') { $data = new ImportFileAddTransfer(); $data->uri = $url; $data->type = $type; $endpoint = new Post($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); return Response::extractId($resultRequest, '/import-files/%d/'); }
/** * @param string $eventName * @param string $callbackUrl * @param string $fallbackEmail * @return int */ public function post($eventName, $callbackUrl, $fallbackEmail) { $data = new SubscriptionAddTransfer(); $data->event_name = $eventName; $data->callback_url = $callbackUrl; $data->fallback_email = $fallbackEmail; $endpoint = new Post($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); return Response::extractId($resultRequest, '/subscriptions/%d/'); }
/** * @param AbstractEndpoint $endpoint * @param int $id * @return array|null */ protected function performWithId(AbstractEndpoint $endpoint, $id) { if ($endpoint instanceof IdAware) { $endpoint->setId($id); } try { $result = $endpoint->performRequest(); } catch (ResourceNotFoundException $e) { return null; } Response::checkBody($result); return $result['json']; }
/** * @param array|CategoryDecideTransfer $data * @return array|CategoryTransfer[] */ public function decide($data) { if (!$data instanceof CategoryDecideTransfer) { if (!is_array($data)) { throw new InvalidArgumentException('Data argument should be an array of instance of CategoryDecideTransfer'); } $data = CategoryDecideTransfer::make($data); } $endpoint = new Decide($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); Response::checkBody($resultRequest); $result = []; foreach ($resultRequest['json'] as $item) { $result[] = CategoryTransfer::make($item); } return $result; }
/** * @param array $statuses * @param \DateTime|int|string $dateTimeFrom * @param \DateTime|int|string $dateTimeTo * @return int * @throws \Hitmeister\Component\Api\Exceptions\ServerException */ public function sales(array $statuses, $dateTimeFrom, $dateTimeTo) { $data = new ReportRequestSalesTransfer(); $data->status = $statuses; $data->ts_from = Request::formatDateTime($dateTimeFrom); $data->ts_to = Request::formatDateTime($dateTimeTo); $endpoint = new Sales($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); return Response::extractId($resultRequest, '/reports/%d/'); }
public function testExtractId() { $body = ['headers' => ['Location' => ['/claim-messages/15/']]]; $id = Response::extractId($body, '/claim-messages/%d/'); $this->assertEquals(15, $id); }
/** * @param array|UnitAddTransfer $data * @return int */ public function post($data) { if (!$data instanceof UnitAddTransfer) { if (!is_array($data)) { throw new InvalidArgumentException('Data argument should be an array of instance of UnitAddTransfer'); } $data = UnitAddTransfer::make($data); } $endpoint = new Post($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); return Response::extractId($resultRequest, '/units/%d/'); }
/** * */ private function fetchData() { if (!$this->apiHasNext) { return; } // Set limits defined by API $this->apiParams['limit'] = $this->apiLimit; $this->apiParams['offset'] = $this->apiOffset; // Adjust limits by user if (null !== $this->userLimit) { $expectedCount = $this->userOffset + $this->userLimit; $newCount = $this->apiLimit + $this->apiOffset; if ($newCount > $expectedCount) { $dx = $newCount - $expectedCount; $this->apiParams['limit'] -= $dx; if (!$this->apiParams['limit']) { $this->apiHasNext = false; return; } } } $this->endpoint->setParams($this->apiParams); $resultRequest = $this->endpoint->performRequest(); Response::checkBody($resultRequest); $cursorData = Response::extractCursorPosition($resultRequest); $this->total = $cursorData['total']; // The end if ($cursorData['end'] == $cursorData['total'] || null !== $this->userOffset && null !== $this->userLimit && $cursorData['end'] >= $this->userOffset + $this->userLimit || 0 === count($resultRequest['json'])) { $this->apiHasNext = false; } else { $this->apiOffset += $this->apiLimit; } $this->rawData = array_merge($this->rawData, $resultRequest['json']); }