/**
  * Send changed status to Yandex.Market
  *
  * @param int $orderId
  * @param string $status
  * @param null|string $subStatus
  * @return Models\Order
  *
  * @link http://api.yandex.ru/market/partner/doc/dg/reference/put-campaigns-id-orders-id-status.xml
  */
 public function setOrderStatus($orderId, $status, $subStatus = null)
 {
     $resource = 'campaigns/' . $this->campaignId . '/orders/' . $orderId . '/status.json';
     $data = ["order" => ["status" => $status]];
     if ($subStatus) {
         $data['order']['substatus'] = $subStatus;
     }
     $response = $this->sendRequest('PUT', $this->getServiceUrl($resource), ['json' => $data]);
     $decodedResponseBody = $this->getDecodedBody($response->getBody());
     $updateOrderStatusResponse = new Models\UpdateOrderStatusResponse($decodedResponseBody);
     return $updateOrderStatusResponse->getOrder();
 }
 /**
  * Send changed status to Yandex.Market
  *
  * @param int $orderId
  * @param string $status
  * @param null|string $subStatus
  * @return Models\Order
  *
  * @link http://api.yandex.ru/market/partner/doc/dg/reference/put-campaigns-id-orders-id-status.xml
  */
 public function setOrderStatus($orderId, $status, $subStatus = null)
 {
     $resource = 'campaigns/' . $this->campaignId . '/orders/' . $orderId . '/status.json';
     $data = array("order" => array("status" => $status));
     if ($subStatus) {
         $data['order']['substatus'] = $subStatus;
     }
     $data = json_encode($data);
     $client = new Client($this->getServiceUrl($resource));
     $request = $client->createRequest('PUT', null, null, $data);
     $request->setHeader('Content-type', 'application/json');
     $response = $this->sendRequest($request)->json();
     $updateOrderStatusResponse = new Models\UpdateOrderStatusResponse($response);
     return $updateOrderStatusResponse->getOrder();
 }