- Модуль: messageservice
- Путь к файлу: ~/bitrix/modules/messageservice/lib/sender/sms/twilio.php
- Класс: BitrixMessageServiceSenderSmsTwilio
- Вызов: Twilio::getMessageStatus
public function getMessageStatus(array $messageFields)
{
$result = new MessageStatus();
$result->setId($messageFields['ID']);
$result->setExternalId($messageFields['EXTERNAL_ID']);
$sid = $this->getOption('account_sid');
if (!$sid)
{
$result->addError(new Error(Loc::getMessage('MESSAGESERVICE_SENDER_SMS_TWILIO_CAN_USE_ERROR')));
return $result;
}
$apiResult = $this->callExternalMethod(
HttpClient::HTTP_GET,
'Accounts/'.$sid.'/Messages/'.$result->getExternalId()
);
if (!$apiResult->isSuccess())
{
$result->addErrors($apiResult->getErrors());
}
else
{
$resultData = $apiResult->getData();
$result->setStatusCode($resultData['status']);
$result->setStatusText($resultData['status']);
if (in_array($resultData['status'],
array('accepted', 'queued', 'sending', 'sent', 'delivered', 'undelivered', 'failed')))
{
$result->setStatusText(
Loc::getMessage('MESSAGESERVICE_SENDER_SMS_TWILIO_MESSAGE_STATUS_'.mb_strtoupper($resultData['status']))
);
}
}
return $result;
}