Closed TrunovS closed 11 months ago
Эта дата копируется из поля TimeStampLastPacket "как есть" https://github.com/1C-Company/DirectBank/blob/master/doc/common-section/type-tables.md#edo-GetPacketListResponseType Таким образом, реальное время клиента никак не участвует во взаимодействии и банк всегда получит свою дату. Обязательно обратите внимание на условие "Значение не должно содержать информацию о часовом поясе", в противном случае 1С при чтении XML выполнит приведение даты и в следующий запрос дата уйдет со смещением.
Но для того чтобы взять "TimeStampLastPacket" необходимо сначала сделать первоначальный запрос GetPackList с какой-то датой и временем в поле date?
GET https://dbogate.demobank.ru/GetPackList?date=16.02.2015%2011:25:32
И если время в поле date не будет соответствовать часовому поясу сервера возможны разного рода ошибки.
Как например в городе N - date=16.02.2015%2011:25:32
А на сервере банка в другой временной зоне - date=16.02.2015%2010:25:32
И выходит если пользователь не знает о текущей временной зоне сервера, то его запрос
GET https://dbogate.demobank.ru/GetPackList?date=16.02.2015%2011:25:32
Потребует списка готовых пакетов из будущего.
Насколько я понимаю:
В самый первый запрос подставляется начало текущего дня.
В самый первый запрос подставляется начало текущего дня.
А разъясните, пожалуйста этот момент. Получается, в самом первом запросе должна быть информация о начале текущего дня по часовому поясу банка, но ведь при первом запросе клиент direct банк ничего не знает о том в каком поясе живет банк и кажется что могут возьникнуть проблемы уже не с интервалами в часы, а с интервалами в дни.
Например, первый контакт клиента с банком происходит в 23:00 01.01 по GTM, клиент тоже находится в этом часовом поясе, а вот банк например находится в GTM+3 и у него на момент первого контакта время 02:00 02.01 GTM+3 какое содержание должно быть у первого запроса getPackList и ответа на него?
также хочется понять что должно содержаться в TimeStampLastPacket, в случае если в ответе на GetPacketList банк вернул пустой список
Добрый день.
В документации есть такая фраза:
Правильно ли я понимаю, что если сервер банка находится в отличной временной зоне от клиента делающего запрос, то клиенту для корректности "GetPackList с отметкой времени" необходимо производить нужное смещение.
Если это так, то возможно ли каким-либо автоматическим способом получать временную зону сервера банка? Насколько я понял, в GetSettings такая информация не содержится?