получить ответ от SMS-шлюза в php

Как получить ответ от SMS-шлюза (вообще) на сайте?


person Mark    schedule 04.07.2016    source источник
comment
Обновите свой вопрос, указав соответствующий код php, который вы используете. Также каков ожидаемый результат и каков фактический результат.   -  person Alex Andrei    schedule 04.07.2016


Ответы (1)


В документации для SMS-шлюза должно быть описано, как данные представляются через HTTP; формат будет специфичным для SMS-шлюза, стандарта нет.

Поддерживается ли шлюз третьей стороной? Если вы установили его самостоятельно, то то, как он представляет информацию, может быть частью его конфигурации, и проблема здесь не по теме.

Предполагая, что шлюз настроен правильно, вы можете увидеть все данные, представленные шлюзом в $_REQUEST. В некоторых (очень неясных) случаях данные могут быть представлены в необработанном посте.

Просто захватите полный запрос, чтобы увидеть, как представлены данные. Это проще всего, если PHP работает как mod_php в Apache (вы не сказали), где вы делаете это:

<?php
$log=tempnam("/tmp", 'mo_sms');
$output="started " . date('r') . "\n";
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
   $output.="$header : $value\n";
}
$output.="\n";
while (!feof(STDIN)) {
   $output.=fgets($TDIN);
}
file_put_contents($log, $output);

Обратите внимание, что это, вероятно, не завершает транзакцию со шлюзом - он, вероятно, будет ожидать подтверждения того, что данные были успешно доставлены (но может обрабатывать HTTP 200 как таковой).

person symcbean    schedule 04.07.2016