// Shared data for DataLoop landing — v2 // Cities (top-10 by population), map, calculator, code samples. // Sample addresses for the Saggest widget const ADDRESSES = [ { full: "г Москва, ул Тверская, д 12 стр 9", region: "Москва", city: "Москва", street: "ул Тверская", house: "12 стр 9", postal: "125009", fias: "8da95206-5d3a-4d3e-...", lat: 55.7616, lon: 37.6062, }, { full: "г Санкт-Петербург, Невский пр-кт, д 28", region: "Санкт-Петербург", city: "Санкт-Петербург", street: "Невский пр-кт", house: "28", postal: "191186", fias: "c2deb16a-0330-4f05-...", lat: 59.9359, lon: 30.3258, }, { full: "г Москва, Кутузовский пр-кт, д 35", region: "Москва", city: "Москва", street: "Кутузовский пр-кт", house: "35", postal: "121170", fias: "4a4d9c2b-7e1f-4ab3-...", lat: 55.7396, lon: 37.5253, }, { full: "г Новосибирск, Красный пр-кт, д 50", region: "Новосибирская обл", city: "Новосибирск", street: "Красный пр-кт", house: "50", postal: "630091", fias: "df85a40a-1c81-4f5f-...", lat: 55.0339, lon: 82.9217, }, { full: "г Казань, ул Баумана, д 19", region: "Респ Татарстан", city: "Казань", street: "ул Баумана", house: "19", postal: "420111", fias: "9c8b1f0e-2c43-44dd-...", lat: 55.7906, lon: 49.1149, }, { full: "г Екатеринбург, ул Ленина, д 24/8", region: "Свердловская обл", city: "Екатеринбург", street: "ул Ленина", house: "24/8", postal: "620075", fias: "ab68f1a3-9c2d-41e7-...", lat: 56.8389, lon: 60.6057, }, { full: "г Нижний Новгород, ул Большая Покровская, д 1", region: "Нижегородская обл", city: "Нижний Новгород", street: "ул Большая Покровская", house: "1", postal: "603005", fias: "13bd0d68-5b7a-4f3b-...", lat: 56.3231, lon: 44.0050, }, { full: "г Сочи, ул Навагинская, д 9", region: "Краснодарский край", city: "Сочи", street: "ул Навагинская", house: "9", postal: "354000", fias: "ee281b6d-...", lat: 43.5852, lon: 39.7203, }, ]; const CITIES = [ { id: 1, name: "Москва", pop: "13.1 М жителей", rank: "#1", region: "Москва", lat: 55.7558, lon: 37.6173, x: 20.5, y: 51.5, side: "left", postal: "101000", okato: "45286570000", okmto: "45382000", fias: "0c5b2444-70a0-4932-980c-b4dc0d3f02b5", addr: "г Москва, ул Тверская, д 13" }, { id: 2, name: "Санкт-Петербург", pop: "5.6 М жителей", rank: "#2", region: "Санкт-Петербург", lat: 59.9343, lon: 30.3351, x: 15.2, y: 41.5, side: "top", postal: "190000", okato: "40298566000", okmto: "40908000", fias: "c2deb16a-0330-4f05-9e93-d2c4d6f86ee9", addr: "г Санкт-Петербург, Невский пр-кт, д 28" }, { id: 3, name: "Новосибирск", pop: "1.63 М жителей", rank: "#3", region: "Новосибирская обл", lat: 55.0084, lon: 82.9357, x: 43.0, y: 56.5, side: "bottom", postal: "630000", okato: "50401000000", okmto: "50701000", fias: "df85a40a-1c81-4f5f-9d49-0a2c8e9b3e21", addr: "г Новосибирск, Красный пр-кт, д 50" }, { id: 4, name: "Екатеринбург", pop: "1.54 М жителей", rank: "#4", region: "Свердловская обл", lat: 56.8389, lon: 60.6057, x: 31.5, y: 47.0, side: "top", postal: "620000", okato: "65401000000", okmto: "65701000", fias: "ab68f1a3-9c2d-41e7-9d2f-9c11b8e10942", addr: "г Екатеринбург, ул Ленина, д 24/8" }, { id: 5, name: "Казань", pop: "1.32 М жителей", rank: "#5", region: "Респ Татарстан", lat: 55.7887, lon: 49.1221, x: 25.5, y: 51.0, side: "right", postal: "420000", okato: "92401000000", okmto: "92701000", fias: "9c8b1f0e-2c43-44dd-aa1c-5e7b6c44a019", addr: "г Казань, ул Баумана, д 19" }, { id: 6, name: "Нижний Новгород", pop: "1.21 М жителей", rank: "#6", region: "Нижегородская обл", lat: 56.2965, lon: 43.9361, x: 22.5, y: 48.5, side: "right", postal: "603000", okato: "22401000000", okmto: "22701000", fias: "13bd0d68-5b7a-4f3b-aa12-6e08c44ffeb1", addr: "г Нижний Новгород, ул Большая Покровская, д 1" }, { id: 7, name: "Красноярск", pop: "1.19 М жителей", rank: "#7", region: "Красноярский край", lat: 56.0153, lon: 92.8932, x: 49.5, y: 51.0, side: "right", postal: "660000", okato: "04401000000", okmto: "04701000", fias: "ee281b6d-aa12-44ed-83c0-2d4ee19c8f23", addr: "г Красноярск, пр-кт Мира, д 10" }, { id: 8, name: "Челябинск", pop: "1.18 М жителей", rank: "#8", region: "Челябинская обл", lat: 55.1644, lon: 61.4368, x: 31.5, y: 54.5, side: "bottom", postal: "454000", okato: "75401000000", okmto: "75701000", fias: "f1a7c4e2-bcde-4d28-9a13-bb78c2f7c91d", addr: "г Челябинск, пр-кт Ленина, д 76" }, { id: 9, name: "Самара", pop: "1.16 М жителей", rank: "#9", region: "Самарская обл", lat: 53.1959, lon: 50.1008, x: 26.0, y: 56.5, side: "left", postal: "443000", okato: "36401000000", okmto: "36701000", fias: "ab9c5b8d-6a18-4cc8-aa11-de4ff3d9a2c6", addr: "г Самара, ул Куйбышева, д 100" }, { id:10, name: "Уфа", pop: "1.13 М жителей", rank: "#10", region: "Респ Башкортостан", lat: 54.7388, lon: 55.9721, x: 29.0, y: 53.5, side: "right", postal: "450000", okato: "80401000000", okmto: "80701000", fias: "7339e834-12ab-4a51-9c2d-08b1a4d7e7c9", addr: "г Уфа, ул Ленина, д 70" }, ]; // Calculator features — flat monthly subscription pricing per feature. // Bundle pricing model: pick the features you need, pay a fixed price/month. // API is positioned as a way to integrate features — not a per-call billing. const CALC_FEATURES = [ { id: "suggest", group: "Поиск и подсказки", name: "Подсказки адресов", desc: "Авто-дополнение в формах: регион, город, улица, дом, квартира — до 25 вариантов на ввод.", price: 990, badge: "ХИТ", icon: "suggest", }, { id: "iploc", group: "Поиск и подсказки", name: "Город по IP", desc: "Определение населённого пункта посетителя по IP-адресу. Пред-заполнение формы доставки.", price: 590, icon: "iploc", }, { id: "fuzzy", group: "Поиск и подсказки", name: "Поиск с опечатками", desc: "Fuzzy-матчинг по двойной метафонии. «Тверска 12» → находит Тверскую улицу.", price: 490, icon: "fuzzy", }, { id: "geocode", group: "Геокодинг", name: "Адрес → координаты", desc: "Прямой геокодинг с точностью до подъезда. Покрытие 1.7 М населённых пунктов РФ.", price: 1490, icon: "pin", }, { id: "reverse", group: "Геокодинг", name: "Координаты → адрес", desc: "Обратный геокодинг: lat/lon → структурированный адрес ФИАС с 32 полями.", price: 1490, icon: "reverse", }, { id: "tree", group: "Геокодинг", name: "Иерархия адресов", desc: "Дерево от субъекта РФ до квартиры. Для каталогов, отчётов, таргетинга по округам.", price: 690, icon: "tree", }, { id: "parse", group: "Данные и интеграции", name: "Нормализация ФИАС", desc: "Распарсенные части адреса по ФИАС/КЛАДР. Готово для импорта в CRM и 1С.", price: 790, icon: "parse", }, { id: "batch", group: "Данные и интеграции", name: "Пакетная обработка", desc: "До 50 000 адресов за один запрос. CSV/JSONL на входе и выходе. Для миграции баз.", price: 1990, icon: "batch", }, { id: "webhook", group: "Данные и интеграции", name: "Webhooks и стриминг", desc: "Подписки на события и event-streaming для обновлений ФИАС в реальном времени.", price: 990, icon: "webhook", }, { id: "sla", group: "Поддержка и SLA", name: "SLA 99.95% + поддержка", desc: "Договор с SLA, мониторинг 24/7, поддержка в Telegram с откликом до 4 часов.", price: 2490, icon: "sla", }, ]; // Bundle: discounted combination — auto-detected when user selects all geo features const CALC_BUNDLES = [ { id: "geo-trio", requires: ["geocode", "reverse", "tree"], discount: 880, name: "Геокодинг-набор", note: "−20% при выборе всех трёх гео-фич" }, { id: "suggest-trio", requires: ["suggest", "iploc", "fuzzy"], discount: 410, name: "Поиск-набор", note: "−20% при выборе всех подсказок" }, ]; // Feature groups for the API hub const FEATURE_GROUPS = [ { label: "Подсказки", sub: "ввод и поиск", items: [ { tag: "/v1/suggest", title: "Подсказки на лету", desc: "Авто-дополнение от региона до квартиры. 25 подсказок за 14 мс.", ms: "14 мс" }, { tag: "/v1/fuzzy", title: "Поиск с опечатками", desc: "Fuzzy по двойной метафонии. «Тверска» → «Тверская».", ms: "16 мс" }, { tag: "/v1/tree", title: "Дерево ФИАС", desc: "Иерархия от субъекта РФ до подъезда. Удобно для каталогов.", ms: "22 мс" }, ], }, { label: "Геокодинг", sub: "координаты и адреса", items: [ { tag: "/v1/geocode/forward", title: "Прямой геокодинг", desc: "Адрес → координаты с точностью до подъезда. 1.7 М ПУ РФ.", ms: "22 мс" }, { tag: "/v1/geocode/reverse", title: "Обратный геокодинг", desc: "Координаты → структурированный адрес и 32 поля ФИАС.", ms: "18 мс" }, { tag: "/v1/parse", title: "Нормализация ФИАС", desc: "Парсинг по ФИАС/КЛАДР: регион, город, улица, дом, кв.", ms: "9 мс" }, ], }, { label: "Инфраструктура", sub: "под капотом", items: [ { tag: "/v1/batch", title: "Пакетная обработка", desc: "До 50 000 адресов за один запрос. CSV/JSONL на вход и выход.", ms: "≤ 1 с" }, { tag: "ФИАС/КЛАДР", title: "Актуальные базы", desc: "Ежесуточная синхронизация. ФИАС, КЛАДР, ЕГРЮЛ, ОКАТО.", ms: "24/7" }, { tag: "SLA", title: "Два дата-центра", desc: "Гео-резерв Москва/Питер, мониторинг, доступность 99.99%.", ms: "99.99%" }, ], }, ]; // Simplified code samples — only URL + body, no headers const CODE_LINES = { curl: [ [{ k: "c", v: "# Подсказки адресов · POST /v1/suggest/address" }], [{ k: "kw", v: "curl" }, { k: "p", v: " " }, { k: "flag", v: "-X" }, { k: "p", v: " " }, { k: "kw2", v: "POST" }, { k: "p", v: " " }, { k: "url", v: "https://api.dataloop.ru/v1/suggest/address" }, { k: "p", v: " \\" }], [{ k: "p", v: " " }, { k: "flag", v: "-d" }, { k: "p", v: " " }, { k: "str", v: "'{ " }, { k: "key", v: "\"query\"" }, { k: "p", v: ": " }, { k: "str", v: "\"тверская 12\"" }, { k: "p", v: ", " }, { k: "key", v: "\"count\"" }, { k: "p", v: ": " }, { k: "num", v: "5" }, { k: "str", v: " }'" }], ], js: [ [{ k: "c", v: "// Подсказки адресов · @dataloop/sdk" }], [{ k: "kw", v: "const" }, { k: "p", v: " hits " }, { k: "op", v: "=" }, { k: "p", v: " " }, { k: "kw", v: "await" }, { k: "p", v: " dataloop.suggest.address({" }], [{ k: "p", v: " " }, { k: "key", v: "query" }, { k: "p", v: ": " }, { k: "str", v: "\"тверская 12\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "count" }, { k: "p", v: ": " }, { k: "num", v: "5" }, { k: "p", v: "," }], [{ k: "p", v: "})" }], ], python: [ [{ k: "c", v: "# Подсказки адресов · dataloop python sdk" }], [{ k: "p", v: "hits " }, { k: "op", v: "=" }, { k: "p", v: " dl.suggest.address(" }], [{ k: "p", v: " " }, { k: "key", v: "query" }, { k: "op", v: "=" }, { k: "str", v: "\"тверская 12\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "count" }, { k: "op", v: "=" }, { k: "num", v: "5" }, { k: "p", v: "," }], [{ k: "p", v: ")" }], ], go: [ [{ k: "c", v: "// Подсказки адресов · dataloop go sdk" }], [{ k: "p", v: "hits, _ " }, { k: "op", v: ":=" }, { k: "p", v: " dl.Suggest.Address(ctx, " }, { k: "op", v: "&" }, { k: "kw", v: "Q" }, { k: "p", v: "{" }], [{ k: "p", v: " " }, { k: "key", v: "Query" }, { k: "p", v: ": " }, { k: "str", v: "\"тверская 12\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "Count" }, { k: "p", v: ": " }, { k: "num", v: "5" }, { k: "p", v: "," }], [{ k: "p", v: "})" }], ], }; const RESPONSE_LINES = [ [{ k: "p", v: "{" }], [{ k: "p", v: " " }, { k: "key", v: "\"suggestions\"" }, { k: "p", v: ": [" }], [{ k: "p", v: " {" }], [{ k: "p", v: " " }, { k: "key", v: "\"value\"" }, { k: "p", v: ": " }, { k: "acc", v: "\"г Москва, ул Тверская, д 12 стр 9\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "\"data\"" }, { k: "p", v: ": {" }], [{ k: "p", v: " " }, { k: "key", v: "\"postal_code\"" }, { k: "p", v: ": " }, { k: "str", v: "\"125009\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "\"region\"" }, { k: "p", v: ": " }, { k: "str", v: "\"Москва\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "\"street\"" }, { k: "p", v: ": " }, { k: "str", v: "\"Тверская\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "\"house\"" }, { k: "p", v: ": " }, { k: "str", v: "\"12 стр 9\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "\"fias_id\"" }, { k: "p", v: ": " }, { k: "str", v: "\"8da95206-5d3a-...\"" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "\"geo_lat\"" }, { k: "p", v: ": " }, { k: "num", v: "55.7616" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "\"geo_lon\"" }, { k: "p", v: ": " }, { k: "num", v: "37.6062" }, { k: "p", v: "," }], [{ k: "p", v: " " }, { k: "key", v: "\"qc\"" }, { k: "p", v: ": " }, { k: "num", v: "0" }, { k: "p", v: " " }, { k: "c", v: "// точность: дом" }], [{ k: "p", v: " }" }], [{ k: "p", v: " }" }], [{ k: "p", v: " ]" }], [{ k: "p", v: "}" }], ]; window.__DATA = { ADDRESSES, CITIES, CALC_FEATURES, CALC_BUNDLES, FEATURE_GROUPS, CODE_LINES, RESPONSE_LINES };