Код, который я использую для отправки сообщений, работает нормально. Я правильно настроил веб-хуки, так как сервер clickatell дает ответ 200, что означает, что моя система получила обратный вызов, но не перехватывает информацию обратного вызова. Я все еще новичок в этом, так что я мог делать неправильно.
библиотека clickatell
CONTROLER — Отправить результат обратного вызова по электронной почте (я получаю электронное письмо, но не получил результатов обратного вызова)
public function callback(){
$this->load->library('clickatell_rest'); //Load Clickatell library
$this->clickatell_rest->parseStatusCallback(function ($result){
$callbackRunDate = date('Y-m-d H:i:s');
$from_email = '[email protected]';
$to = '[email protected]';
$message = $callbackRunDate.' '.print_r($result);
$subject = 'Callback Results';
$this->email->set_mailtype('html');
$this->email->from($from_email, 'Clickatell');
$this->email->to($to);
$this->email->subject($subject);
$this->email->message($message);
$this->email->send();
});
}
Функция библиотеки Clickatell
public static function parseStatusCallback($callback, $file = STDIN){
$body = file_get_contents($file);
$body = json_decode($body, true);
$keys = [
'apiKey',
'messageId',
'requestId',
'clientMessageId',
'to',
'from',
'status',
'statusDescription',
'timestamp'
];
if (!array_diff($keys, array_keys($body))) {
$callback($body);
}
return;
}
Задача ещё не решена.
Других решений пока нет …