WebAPI глазами программиста
WebAPI это программа, которая устанавливается на Ваш локальный компьютер, имеющий доступ в Интернет. Но Вы должны учитывать, что на сайте должна быть и база данных, в которой будут храниться смс. И скрипты, которые будет вызывать WebAPI.
Здесь и в дальнейшем мы будем опираться на пример реализации на PHP+MySQL. В примерах есть скрипты:
1. smsout.php – скрипт для работы с отправляемыми с сайта смс
2. smsin.php – скрипт для работы с принятыми ProfiSMS и передачи их на сайт
3. proc_db.php – подключаемый скрипт, содержащий конфигурационную информацию (имя БД, логин и пароль для доступа к БД и т.д.)
Начнем с отправки смс с сайта. Для начала Вам потребуется создать базу данных, состоящую из таблицы (назовем ее SMSOUT), для хранения информации об отправляемых смс.
Поле |
Тип |
Комментарии |
id | bigint(20) | id смс (автоинкремент) |
nom | varchar(35) | номер получателя |
txtmsg | varchar(600) | текст смс |
status | tinyint(4) | статус смс (0-ожидает обработки, 1-отправляется, 2-отправлена, 9-ошибка отправки) |
Получение c Веб-сайта сообщений для отправки.
Запрос на веб-сервер:
<SmsOutRequest>
<AuthCode>myAuthCode</AuthCode>
<Oper>GetOutNewSMS</Oper>
<MaxOutSMS>5</MaxOutSMS> необязательный параметр
</SmsOutRequest>
Ответ от веб-сервера:
<SmsOutResponse>
<SmsDetail> <!—данные для передачи смс #1 –>
<SmsId>уникальный номер смс</SmsId>
<NomAbon>номер телефона получателя</NomAbon>
<TxtMsg>текст смс сообщения</TxtMsg>
</SmsDetail>
…
<SmsDetail> <!—данные для передачи смс #NN –>
… данные для отправки смс #NN …
</SmsDetail>
</SmsOutResponse>
myAuthCode – это пароль доступа к скрипту
GetOutNewSMS – название операции, в данном случае это операция получения с сайта новых смс
MaxOutSMS – максимальное количество смс в пакете. Оно также может задаваться и на самом сайте, но приоритет имеет именно переданное значение.
SmsId – уникальный номер смс. Это поле ID из базы данных на сайте.
NomAbon – номер получателя в международном формате, без «+» (например 79135220928)
TxtMsg – текст сообщения. Не более 600 символов, в кодировке win-1251.
Чтобы на сайте можно было контролировать состояние отправки смс, скрипт должен уметь обрабатывать:
Отчеты на Веб-сайт об успешной загрузке сообщений для отправки.
Запрос на веб-сервер:
<SmsOutRequest>
<AuthCode>myAuthCode</AuthCode>
<Oper>ReportOutNewSMS</Oper>
<SmsIdLists>12,13,14,15,25</SmsIdLists>
</SmsOutRequest>
Ответ от веб-сервера:
<SmsOutResponse>
<Result>OK</Result>
</SmsOutResponse>
Отчеты на Веб-сайт об успешной отправке сообщений.
Запрос на веб-сервер:
<SmsOutRequest>
<AuthCode>myAuthCode</AuthCode>
<Oper>ReportOutSendSMS</Oper>
<SmsIdLists>12,13,14,15,25</SmsIdLists>
</SmsOutRequest>
Ответ от веб-сервера:
<SmsOutResponse>
<Result>OK</Result>
</SmsOutResponse>
Отчеты на Веб-сайт о неудачной отправке сообщений.
Запрос на веб-сервер:
<SmsOutRequest>
<AuthCode>myAuthCode</AuthCode>
<Oper>ReportOutErrSMS</Oper>
<SmsIdLists>12,13,14,15,25</SmsIdLists>
</SmsOutRequest>
Ответ от веб-сервера:
<SmsOutResponse>
<Result>OK</Result>
</SmsOutResponse>
SmsIdLists – ID смс, как они заданы на сайте (поле ID в таблице SMSOUT).
Вы можете взять за основу те скрипты, что идут с WebAPI в качестве примеров. Это позволит быстро все настроить и запустить в работу.
Продолжение читайте в документации, которая идет непосредственно с самой программой WebAPI…
Март 4th, 2011 at 14:01
Добрый день! Очень понравился Ваш проект. Хорошо что сначала можно протестировать настроить, а уже потом оплатить. Просто перелопатил уже не один десяток похожих программ, но как-то они с моим Сони-Эриксон к810 не нашли общий язык. А ProfiSMS практически с 1-го раза (однако GigaSMS не получилось настроить). Установил WebAPI и хочу ещё его настроить т.к. на сайте (пока только localhost) используется база СМС в MySQL и PHP. Могули ли я получить документацию по WebAPI или образец скриптов smsout.php и proc_db.php для тестовой прогонки.
Март 5th, 2011 at 5:14
Евгений, Вы скачайте и установите WebAPI - документацию и примеры скриптов найдете в папке этой программы.