Example #1
0
 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);
 }
Example #2
0
 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;
 }
Example #3
0
 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;
 }
Example #4
0
 public function addProductToCategories($productId, $categoryIds)
 {
     $payload = ['Categories' => $categoryIds];
     $response = $this->connection->post('/Products/' . $productId . '/AddToCategories', $payload);
     return $this->getProductResponseFromBody($response);
 }
Example #5
0
 public function post(Subscriber $subscriber)
 {
     $payload = $subscriber->toPost();
     return $this->connection->post('/Subscribers', $payload);
 }