<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>OneSwitch — blog</title><link>https://oneswitch.ru/en/blog/</link><description>Websites, web apps, Telegram bots and Mini Apps, integrations, scraping, 1C and AI agents. Systems that keep working without supervision.</description><language>en</language><item><title>Telegram Mini App notifications: how to send push messages through the bot</title><link>https://oneswitch.ru/en/blog/uvedomleniya-v-telegram-mini-app/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/uvedomleniya-v-telegram-mini-app/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>A Mini App has no push of its own: notifications arrive as bot messages, and you can write to a user only after they start the bot or grant access with requestWriteAccess. To open the right screen use a web_app button or a direct link with the startapp parameter. Mark users who blocked the bot and stop messaging them.</description></item><item><title>A Telegram bot in n8n: inline buttons, menus and a Mini App button</title><link>https://oneswitch.ru/en/blog/telegram-bot-n8n-knopki-menu-mini-app/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/telegram-bot-n8n-knopki-menu-mini-app/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>In n8n a bot is built from a Telegram Trigger, a branch by event type and a send node. Inline button presses arrive as callback_query and need an answer. A button that opens a Mini App is easiest to send through HTTP Request, and a bot can have only one webhook.</description></item><item><title>How much a Telegram bot and Mini App cost: what the price is made of</title><link>https://oneswitch.ru/en/blog/skolko-stoit-telegram-bot-i-mini-app/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/skolko-stoit-telegram-bot-i-mini-app/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>A bot&#x27;s price depends on scenarios, integrations and roles; a Mini App&#x27;s price also depends on the interface, API and data. A simple bot costs far less than a catalog with subscriptions. Saving comes from launching a minimal version and describing the task clearly.</description></item><item><title>Invoice recognition in 1C from photo and PDF: cloud or local AI</title><link>https://oneswitch.ru/en/blog/raspoznavanie-upd-v-1s-chem-zagruzit-dokumenty/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/raspoznavanie-upd-v-1s-chem-zagruzit-dokumenty/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>If a supplier works through EDI, load the document from XML instead of recognizing it. For paper, scans and photos you choose between cloud OCR and a local AI model. A local model is needed when prices and tax IDs must not leave the company. Test any option on 20–30 of your own real documents.</description></item><item><title>Validate Telegram Mini App initData in Python: code and mistakes</title><link>https://oneswitch.ru/en/blog/proverka-initdata-telegram-mini-app-python/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/proverka-initdata-telegram-mini-app-python/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>Validate initData on the server: derive a secret as HMAC-SHA256 of the bot token with the key WebAppData, then compare the signature of the data-check string. Use compare_digest and check auth_date to reject forged and stale data.</description></item><item><title>Send messages from 1C to Telegram: code, chat_id and pitfalls</title><link>https://oneswitch.ru/en/blog/otpravka-soobshchenij-iz-1s-v-telegram/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/otpravka-soobshchenij-iz-1s-v-telegram/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>Notifications from 1C need a bot, a token and a call to the sendMessage method over HTTPConnection. The hard part is mapping a 1C user to their chat_id, not the sending code. Never keep the token in module text, and move sending to a background job.</description></item><item><title>1C and website data exchange: HTTP service or OData, auth, errors</title><link>https://oneswitch.ru/en/blog/obmen-1s-s-sajtom-http-servis-odata/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/obmen-1s-s-sajtom-http-servis-odata/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>A website can talk to 1C in two ways: the standard OData interface for simple reading and writing of objects, or your own HTTP service for custom logic. Never expose the database to the internet directly: use a proxy with restrictions, a separate user with a narrow role and an exchange with retries and duplicate protection.</description></item><item><title>n8n webhook: how to secure it and accept site data without duplicates</title><link>https://oneswitch.ru/en/blog/n8n-webhook-zashchita-avtorizaciya/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/n8n-webhook-zashchita-avtorizaciya/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>An n8n webhook is open to everyone by default, so lock it: Header Auth or Basic Auth in the node, IP restrictions on the proxy and data validation. Reply to the site immediately, do heavy work after the reply, and give each request a unique ID to protect against repeats.</description></item><item><title>1C invoice recognition without the cloud: UPD and TORG-12 from a photo</title><link>https://oneswitch.ru/en/blog/lokalnoe-raspoznavanie-dokumentov-v-1s/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/lokalnoe-raspoznavanie-dokumentov-v-1s/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>An invoice from a photo can become a filled 1C document in 30–60 seconds. A local AI model runs on the client&#x27;s computer, so prices, tax IDs and suppliers never reach third-party servers.</description></item><item><title>llms.txt: an example file, the format and a checklist for your site</title><link>https://oneswitch.ru/en/blog/llms-txt-primer-formata/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/llms-txt-primer-formata/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>llms.txt is a plain-text Markdown file in the site root: a title, a short summary and lists of links to the main pages with notes. It helps language models understand a site quickly, but it does not replace a sitemap or structured data and does not guarantee use. It is convenient to generate from the same data as the site.</description></item><item><title>A Telegram Mini App catalog: API design, filters and subscriptions</title><link>https://oneswitch.ru/en/blog/katalog-v-telegram-mini-app-arhitektura/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/katalog-v-telegram-mini-app-arhitektura/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>A Mini App catalog rests on three parts: an API with filters and pagination, user verification by initData and a subscription worker that matches new items against saved criteria and sends notifications through the bot. One database and one API serve both the website and the Mini App.</description></item><item><title>No duplicates in auto-posting: a key, ON CONFLICT and a queue</title><link>https://oneswitch.ru/en/blog/dedup-v-avtoposting-n8n-postgresql/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/dedup-v-avtoposting-n8n-postgresql/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>Remove duplicates in the database, not in the workflow: give every offer a unique key and insert it with ON CONFLICT DO NOTHING. Pull the send queue with FOR UPDATE SKIP LOCKED, and use new, sending and sent statuses so any step can be safely retried.</description></item><item><title>Telegram auto-posting with n8n and PostgreSQL: pipeline design</title><link>https://oneswitch.ru/en/blog/avtoposting-v-telegram-n8n-postgresql/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/avtoposting-v-telegram-n8n-postgresql/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>An auto-posting pipeline has five steps: collect data, store it, prepare the post, queue it and publish with verification. n8n connects the steps and PostgreSQL keeps the state and prevents duplicates.</description></item><item><title>Aviasales API in Python: flight prices via Travelpayouts</title><link>https://oneswitch.ru/en/blog/aviasales-travelpayouts-api-na-python/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/aviasales-travelpayouts-api-na-python/</guid><pubDate>Fri, 30 Oct 2026 09:00:00 +0000</pubDate><description>The Travelpayouts Data API returns cached prices from Aviasales searches, not a live search. One GET request with a token in the header is enough for prices by date and route. The main risks: data can be stale or missing for rare routes, so show prices as “from” and re-check them through the link.</description></item><item><title>Telegram Mini App or a website: what to choose for a catalog</title><link>https://oneswitch.ru/en/blog/telegram-mini-app-ili-sajt/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/telegram-mini-app-ili-sajt/</guid><pubDate>Thu, 29 Oct 2026 09:00:00 +0000</pubDate><description>A Mini App fits when your audience is already in Telegram and you need subscriptions and notifications. A website is needed for search and SEO. The best setup is both: the site attracts, the Mini App retains.</description></item><item><title>llms.txt and GEO: how to prepare a site for AI answers</title><link>https://oneswitch.ru/en/blog/llms-txt-i-geo-seo-dlya-nejrosetej/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/llms-txt-i-geo-seo-dlya-nejrosetej/</guid><pubDate>Wed, 28 Oct 2026 09:00:00 +0000</pubDate><description>GEO is preparing a site for AI answers. In practice it means Schema.org structured data, llms.txt, articles with a short answer first, and open access for AI bots in robots.txt.</description></item><item><title>How much a website and automation cost: what the price is made of</title><link>https://oneswitch.ru/en/blog/skolko-stoit-sajt-i-avtomatizaciya/</link><guid isPermaLink="true">https://oneswitch.ru/en/blog/skolko-stoit-sajt-i-avtomatizaciya/</guid><pubDate>Tue, 27 Oct 2026 09:00:00 +0000</pubDate><description>Price depends on scope, number of integrations, data complexity and reliability requirements. It is cheaper to start with a minimal working version and grow it from real usage.</description></item></channel></rss>
