Отправка внешних сообщений

Статус
Закрыто для дальнейших ответов.

DeletedUser

Гость
Решил разобраться с отправкой внешних сообщений и понял, что ответ сервера не соответствует стандартам!

1. Отправка сообщения

Request (запрос):

GET /send_mail.php?from_id=NNN&api_key=XXXXXXXX&to=tw5r&subject=SUBJECT&message=MESSAGE HTTP/1.1
Host: ruZ.voyna-plemyon.ru

Response (ответ):

HTTP/1.1 200 OK
Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Fri, 28 Jan 2011 08:55:57 GMT
Content-type: text/html; charset=utf-8
Server: lighttpd/1.4.19
X-Powered-By: PHP/5.2.0-8+etch16

27
Сообщение отправлено
0

Все чудно, но по стандарту - если сервер передаёт данные обратно, то должен быть заполнен параметр "Content-Length" в заголовке ответа сервера, которого в ответе сервера я не увидел!

2. Отсутствие массовой рассылки

В помощи написано:

Иногда желательно, чтобы внешние программы могли посылать сообщения игрокам, чтобы информировать их о важных событиях или подтверждать их личность. Так как правила запрещают использования роботов, мы разработали для этой цели программный интерфейс

Если это опечатка, то надо исправить. Или добавить в параметр "TO" возможность указания нескольких получателей (чтобы снизить нагрузку на сервер при отправке скажем 100 игрокам одного и того же сообщения) с использованием разделителя (например, как в игре - точка с запятой).

3. Ответ сервера

Я поэкспериментировал и пришёл к выводу, что в любом случае (даже при ошибках) сервер отвечает 200! Зачем это было делать? Чтобы узнать о корректности отправки сообщения - необходимо парсить ответ сервера! Неужели нельзя было:

200 - Сообщение отправлено
400 - Неправильно заданы параметры
401 - Неправильный API ключ и/или идентификатор игрока
403 - Аккаунт отправителя заблокирован
410 - Получатель не найден (игрок удалён)

Если сделать так, то даже тело ответа не нужно будет передавать!

Вопрос к разработчикам:

Будет ли исправлен блок отправки сообщений?
 

DeletedUser

Гость
Да просто все наверняка писалось на скорую руку "на коленях", а соблюдение стандарта требует времени и кропотливости. Сомневаюсь, что данная фича будет дорабатываться. Разработчики 100% в курсе того, что нахалтурили тут, но наверняка эта задача стоит в списке малоприоритетных. Хотя если показать, что данная функциональность является востребованной, то, возможно, это и продвинет дело...
 
Статус
Закрыто для дальнейших ответов.
Верх