public function post(ProductCategory $productCategory) { $payload = $productCategory->toPost(); $parentId = $productCategory->getParentId(); // if this is the root category, specify that by making the parentId -1 and it will make sure the URL doesn't // have a parent ID appended and instead posts straight to /ProductCategories/ for adding the root and not // /ProductCategories/{categoryId} where categoryId is the parent $urlExtension = $parentId == -1 ? '' : '/' . $parentId; $response = $this->connection->post('/ProductCategories' . $urlExtension, $payload); $body = $response->getBody(); return $this->getResponseFromBody($body); }
public function post(DatabaseColumn $databaseColumn) { $payload = $databaseColumn->toPost(); $response = $this->connection->post('/Database', $payload); $body = $response->getBody(); $databaseColumnResponse = null; if ($response->getStatusCode() != 201) { $databaseColumnResponse = (new ErrorResponse())->setErrorCode($body['ErrorCode'])->setMessage($body['Message'])->setIsError(true); } else { $databaseColumn = new DatabaseColumn(); $databaseColumn->setColumnName($body['ColumnName'])->setColumnSize($body['ColumnSize'])->setColumnType($body['ColumnType'])->setIsCustom($body['IsCustom'])->setVariable($body['Variable']); $databaseColumnResponse = (new DatabaseColumnAddResponse())->setDatabaseColumn($databaseColumn); } return $databaseColumnResponse; }
public function addMultiple(OrdersCollection $ordersCollection) { $payload = $ordersCollection->toPost(); $response = $this->connection->post('/Orders/Import', $payload); $body = $response->getBody(); $ordersResponse = null; if (!empty($body['ErrorCode'])) { $ordersResponse = new ErrorResponse(); $ordersResponse->setErrorCode($body['ErrorCode'])->setMessage($body['Message'])->setIsError(true); } else { $ordersResponse = new OrdersResponse(); if (!empty($body['Failures'])) { foreach ($body['Failures'] as $failure) { $orderError = new OrderError(); $orderError->setEmailAddress($failure['EmailAddress'])->setOrderNumber($failure['OrderNumber'])->setErrorCode($failure['ErrorCode'])->setMessage($failure['Message']); $ordersResponse->addError($orderError); } } $ordersResponse->setOrdersSubmitted($body['OrdersSubmitted'])->setSuccesses($body['Successes']); } return $ordersResponse; }
public function addProductToCategories($productId, $categoryIds) { $payload = ['Categories' => $categoryIds]; $response = $this->connection->post('/Products/' . $productId . '/AddToCategories', $payload); return $this->getProductResponseFromBody($response); }
public function post(Subscriber $subscriber) { $payload = $subscriber->toPost(); return $this->connection->post('/Subscribers', $payload); }