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 - Получатель не найден (игрок удалён)
Если сделать так, то даже тело ответа не нужно будет передавать!
Вопрос к разработчикам:
Будет ли исправлен блок отправки сообщений?
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 - Получатель не найден (игрок удалён)
Если сделать так, то даже тело ответа не нужно будет передавать!
Вопрос к разработчикам:
Будет ли исправлен блок отправки сообщений?