Студия разработки сайтов и приложений

Netspark.ru

Платформа для ботов в Telegram

Ботопотамы

Доктурист разжился курсами валют туроператоров

У нас в Доктуристе новое обновление: добавили поддержку валют туроператоров. Что это значит? Туроператоры ведут расчет по заграничным броням в валюте, долларах или евро. Что логично: нужно вести расчеты с иностранными контрагентами в условиях постоянно меняющегося курса.

Поэтому стоимость тура обычно указана в валюте, а платежи оператор принимает в рублях, пересчитывая их на стоимость тура по курсу. Но не по курсу Центробанка разумеется, а по собственному курсу, который каждый оператор устанавливает самостоятельно (обычно на несколько рублей выше курса ЦБ).

В Доктуристе можно вести заявки как в рублях — вручную пересчитывая всё что нужно, — так и в валюте. Вот если вести их в валюте, обычно возникают вопросы: сколько примерно стоит тур в рублях на сегодня? Сколько осталось заплатить? Сколько учесть в долларах от стоимости тура, если турист заплатил $1000?

До сегодняшнего дня Доктурист чисто в иллюстративных целях показывал расчеты по курсу ЦБ, что можно использовать только для примерной оценки. Для точной оценки можно было ввести курс пересчета вручную и увидеть сумму.

Но зачем это делать вручную, когда можно взять курс с сайта оператора и применить его для получения точных сумм. Так что мы подсуетились и добавили поддержку курсов операторов. Теперь если для туроператора, с которым сделана бронь, поддерживаются курсы валют, они будут иметь приоритет над курсами ЦБ и пользователь получит точные вычисления (ручной ввод все еще возможен и приоритетнее).

С технической точки зрения, это конечно не самое любимое занятие — писать десятки парсеров. Где-то стоит SPA с гидрацией после загрузки и обычные запросы не видят курсов, приходится выискивать API. Где-то — бан на иностранные IP-адреса, и приходится иишечке вручную фикстуры для проверки парсера выдавать. Какой-то сайт взял и забанил известные диапазоны адресов хостингов, и просто так с живого сервера не попарсишь. А где-то и вовсе скрипт защиты от ботов и без playwright/puppeteer HTML страницы никак не вытащить.

Неприятно через эти дебри пробираться: вроде ничего не воруешь, всё чисто для удобства пользователей, которые этим же операторам приносят деньги. Но ограничений столько, как будто это страшный секрет какой-то, а не засвеченный прямо на главной странице блок USD/EUR.

Но так или иначе, первая дюжина операторов побеждена и добавлена в сервис — как автоматический парсер per operator в очереди, так и фоллбэк на ручной ввод. А также планы B и C на случай, если всё сломается, или кто-то подбанит IP.

Продолжаем работу!

P.S. А если вас интересуют курсы валют Центробанка, посмотрите на бота Валютопотама.

Обсуждение

Чтобы обсудить заметку, написать комментарий, или просто связаться, заходите в Телеграм-канал. У нас весело и всем рады!

Также меня можно найти в Хвиттере, VC.ru, Дзене, или Тенчате. А если вы на парковке, присоединяйтесь к каналу в Max!