public function updateMessage($msgId, $isUnread = null, $isFavorite = null) { $endpoint = $this->getFqdn() . '/myMessages/v2/messages/' . $msgId; $req = new RestfulRequest($endpoint); $req->setHeader('Accept', 'application/json')->setHeader('Content-Type', 'application/json')->setAuthorizationHeader($this->getToken()); $vals = array(); if ($isUnread !== null) { $vals['isUnread'] = $isUnread ? 'true' : 'false'; } if ($isFavorite !== null) { $vals['isFavorite'] = $isFavorite ? 'true' : 'false'; } $jbody = json_encode(array('message' => $vals)); $result = $req->sendHttpPut(new HttpPut($jbody)); if ($result->getResponseCode() != 204) { $body = $result->getResponseBody(); throw new ServiceException($result->getResponseCode(), $body); } }
/** * Internal function used for sending common transaction operation * statuses, such as refunding a transaction or cancelling a subscription. * * @param string $rReasonTxt reason for refunding * @param string $rReasonCode reason code for refunding * @param string $transOptStatus transaction operation status * (e.g. Refunded). * @param string $url URL used for sending request * * @return string api response * @throws ServiceException if api request was not successful */ private function _sendTransOptStatus($rReasonTxt, $rReasonCode, $transOptStatus, $url) { $req = new RestfulRequest($url); $bodyArr = array('TransactionOperationStatus' => $transOptStatus, 'RefundReasonCode' => $rReasonCode, 'RefundReasonText' => $rReasonTxt); $httpPut = new HttpPut(json_encode($bodyArr)); $req->setHeader('Accept', 'application/json')->setAuthorizationHeader($this->getToken())->setHeader('Content-Type', 'application/json'); $result = $req->sendHttpPut($httpPut); return Service::parseJson($result); }