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>

SmsIdListsID смс, как они заданы на сайте (поле ID в таблице SMSOUT).

Вы можете взять за основу те скрипты, что идут с WebAPI в качестве примеров. Это позволит быстро все настроить и запустить в работу.

Продолжение читайте в документации, которая идет непосредственно с самой программой WebAPI…