Документация

Подключение KitAddr

Обновлено:

KitAddr — сервис по подписке для интернет-магазинов на Tilda: добавляет в корзину ST100 выбор пункта выдачи СДЭК, Почты России и Яндекс.Доставки на карте, цену доставки курьером по зонам, выбор даты и времени доставки и подсказки адреса. Подключается одним скриптом в HEAD сайта, без своего кода.

Ниже — установка в корзину Tilda ST100, имена полей и настройка модулей: пункты выдачи СДЭК, Почты и Яндекса, зоны доставки своего курьера, дата и время доставки, подсказки адреса и ФИО. Не Tilda — адаптируем модули бесплатно, если это технически возможно: платите только подписку.

Короткие гайды: доставка на Тильде, подсказки адреса, чеклист ST100, СДЭК ПВЗ, Почта России, Яндекс ПВЗ, зоны доставки · все гайды

Базовое подключение

01

Укажите домен

В ЛК добавьте сайт и укажите домен без https:// и www (например myshop.ru). Один домен — один аккаунт: он сразу привязывается к вам.

Виджет отвечает только на запросы с Origin этого домена и вашим site-key. Отдельный мета-тег для подтверждения не нужен.

02

Токен DaData

Подсказки адреса и ФИО идут с вашего аккаунта DaData. Свой ключ DaData лучше подключить сразу — он нужен после пробного периода. Ключ хранится на сервере KitAddr и в браузер покупателя не отдаётся.

  1. Зарегистрируйтесь на dadata.ru и подтвердите email.
  2. В кабинете DaData скопируйте API-ключ «Подсказок» (не секретный ключ стандартизации).
  3. Вставьте в ЛК KitAddr → сайт → Главное → «Токен DaData».

У DaData есть бесплатный план подсказок (лимиты — на dadata.ru). KitAddr реже дергает API — большинству магазинов на Tilda обычно хватает без оплаты DaData.

03

Якорь в форме ST100

Скрытое поле говорит виджету, какую форму считать корзиной. Без него KitAddr ничего не меняет на странице.

Имя TILDA_ADDR_ANCHORЗначение 1
Поля для ввода
#1 ИМЯ ФИО*
#2 СКРЫТОЕ ПОЛЕ =
ТипСкрытое поле
Имя переменной
Значение
#3 ПОЛЕ В ОДНУ СТРОКУ Почтовый индекс
#4 ПОЛЕ В ОДНУ СТРОКУ Регион/область/район
#5 ПОЛЕ В ОДНУ СТРОКУ Населённый пункт
#6 ПОЛЕ В ОДНУ СТРОКУ Улица, дом, корпус/строение, квартира/офис

Значение должно быть именно 1. Поле можно поставить в начале или в конце списка полей формы.

04

Поля адреса и ФИО

В типичном ST100 достаточно стандартных имён. Виджет подменяет их одним полем «Адрес доставки» и при выборе подсказки заполняет скрытые слоты.

Name / FIO ФИО POSTCODE / index индекс REGION регион TOWN / city город ADDRESS / address улица, дом PVZ_CODE код пункта
  • Если адрес разбит (Улица / Дом / Квартира) — просканируйте поля: маппинг подстроится сам.
  • То же для раздельного ФИО (Фамилия / Имя / Отчество).
  • Вкладка Проверка покажет, на каких страницах есть якорь; в «Для опытных» — «Проверить корзины» и «Живой сканер», если форма только в JS.
  • В заказ уходят только поля из ST100. Код пункта — только в PVZ_CODE (или имя из ЛК); лишние поля виджет не создаёт.
05

Скрипт в HEAD

Один код на весь сайт. Ключ pk_… — в разделе «Установка» сайта в ЛК. Виджет грузится с CDN, а если он недоступен — с kitaddr.ru.

<script>
(function kitaddrLoader(d, w, key, urls, ms, cfg, decide, arm){if(w.__kitaddrGate)return;var i=0, done=false, timer, ui;var g=w.__kitaddrGate={v:1, armed:!!arm, words:cfg.words||[], contact:cfg.contact||'', state:'pending', reason:''};function set(st, r){g.state=st;g.reason=r;if(ui)ui();}function lost(code){try{w.localStorage.setItem('kitaddr.guard', JSON.stringify({code:code, at:+new Date()}));}catch(e){}g.fail(code);}function old(){if(w.__tildaAddrScriptLoaded&&!(w.TILDA_ADDR&&w.TILDA_ADDR.gateApi))g.disarm();}g.ready=function(){if(g.state!='disarmed')set('ready', '');};g.disarm=function(){set('disarmed', '');};g.fail=function(r){if(g.state=='pending'||g.state=='failed')set('failed', r||'server');};function next(){if(done||i>=urls.length)return;clearTimeout(timer);var last=i==urls.length-1, s=d.createElement('script');s.src=urls[i++];s.async=true;s.setAttribute('data-site-key', key);s.setAttribute('data-kitaddr-v', '3');s.onload=function(){done=true;clearTimeout(timer);old();};s.onerror=function(){if(!last)return next();clearTimeout(timer);if(!done)lost('script_blocked');};timer=setTimeout(function(){if(!last)return next();if(!done)lost('script_timeout');}, ms);(d.head||d.documentElement).appendChild(s);}function retry(){if(w.__tildaAddrScriptLoaded)return w.location.reload();i=0;done=false;set('pending', '');next();}try{if(arm)ui=arm(d, w, g, decide, retry, lost, old, cfg);}catch(e){}next();})(document, window, 'pk_ВАШ_КЛЮЧ', ["https://cdn.kitaddr.ru/widget.js","https://kitaddr.ru/widget.js"], 5000, {});
</script>

Копировать widget.js на чужой домен бесполезно: Origin должен совпадать с доменом из ЛК.

СДЭК, Почта и Яндекс.Доставка

Как это устроено

Покупатель выбирает способ доставки в ST100. KitAddr смотрит на название этого способа и решает: показать только умный адрес или ещё кнопку выбора пункта.

  • СДЭК до ПВЗ — адрес (чтобы понять район) → кнопка «Выбрать пункт» → код ПВЗ в заказ.
  • СДЭК до постамата — то же, но на карте только постаматы СДЭК.
  • СДЭК курьер — только адрес, без кнопки ПВЗ.
  • Обычная Почта России — только адрес, разнесённый по вашим полям формы (индекс, регион, город, улица).
  • До востребования / отделение — кнопка выбора отделения.
  • Постомат — кнопка выбора постомата.
  • Яндекс.Доставка до ПВЗ — адрес → кнопка → пункт на карте → код в заказ. Гайд: Яндекс ПВЗ.

Всё настраивается в ЛК сайта и в полях корзины ST100 — в Tilda достаточно вариантов доставки, скрытого поля кода пункта и скрипта KitAddr.

Настройка один раз

  1. ЛК сайта → Модули → включите сценарии СДЭК, Почта и/или Яндекс.
  2. Ниже настройте правила под строки из поля «Варианты доставки» в ST100 (или скопируйте пример из ЛК).
  3. Задайте имя поля для кода пункта (по умолчанию PVZ_CODE) и добавьте в ST100 поле с тем же именем — лучше скрытое.
  4. По желанию оставьте «Город по IP»: карта сразу откроется около города покупателя без запроса GPS.

Как назвать доставку в Tilda

Правила смотрят на поле ST100 типа «Варианты доставки» (имя переменной часто DELIVERY_TYPE): KitAddr читает выбранную строку из вариантов ответа и подключает нужный режим — но только если модуль СДЭК/Почта/Яндекс включён в ЛК. Это поле KitAddr не перезаписывает.

  1. В корзине откройте поле «Варианты доставки» → в вариантах ответа добавьте строки вроде Доставка СДЭК до ПВЗ =300.
  2. В ЛК включите модуль и укажите подстроки правила (до пвз и т.п.).
  3. Опубликуйте сайт — при выборе этого варианта появится кнопка пункта (или останется только адрес).

В правиле указывайте уникальную часть названия. Срабатывает самое длинное совпадение. Не используйте голые слова «сдэк» или «почта».

Название в ST100ПоведениеПодстрока в правиле
СДЭК: Доставка до ПВЗ от 1 дня… Адрес + кнопка ПВЗ до пвз, до пункта
СДЭК: Доставка до постамата… Адрес + кнопка постамата до постамата, в постамат
СДЭК: Курьерская доставка… Только адрес — (правило не нужно)
Почта России от 2 дней… Только адрес — (правило не нужно)
Почта до востребования… Адрес + отделение до востребования
Доставка в постомат… Адрес + постомат постомат, почтомат
Яндекс Доставка до ПВЗ… Адрес + кнопка ПВЗ яндекс, yandex

Код пункта пишется только в поле из ЛК (по умолчанию PVZ_CODE). Добавьте его в ST100: Контент → Поля для ввода → Скрытое (или обычное поле, если нужен ручной ввод кода). Виджет не создаёт дубли вроде PICKUP_CODE / CDEK_PVZ.

Карта пункта

  • Поиск адреса понимает ввод в неправильной раскладке (латиница вместо кириллицы).
  • Кнопка с прицелом — геолокация браузера; опция «Город по IP» открывает карту около города без запроса GPS.
  • График работы показывается компактно: пн–пт с 9:00–20:00, сб–вс с 10:00–18:00.

Зоны доставки

Как это устроено

Модуль для магазинов со своим курьером: районы рисуются на карте в кабинете, у каждого своя цена, порог бесплатной доставки, минимальный заказ и срок. В корзине вместо обычного поля адреса сразу появляется карточка «Ввести адрес на карте»; после выбора адреса виджет подставляет цену зоны выбранному способу доставки — Tilda сама пересчитывает итог. Выберет покупатель ПВЗ или самовывоз — карточка уступит место обычному полю.

  • Внутри зоны — «СЗАО · 290 ₽ · 30–50 мин», цена в итоге корзины.
  • Сумма выше порога «бесплатно от» этой зоны — доставка 0 ₽.
  • Ниже минимального заказа зоны — сообщение до оплаты, адрес не принимается.
  • Вне всех зон — по карточке «Остальные адреса» в редакторе зон: не возим туда, единая цена «за город» или «по согласованию» (заказ принимаем, доставку считаем сами).

Подробный разбор с примерами — в гайде Зоны доставки на Тильде.

Настройка

  1. ЛК сайта → Модули → блок «Зоны доставки». Модуль входит в тариф или докупается там же — на весь аккаунт, помесячно или на год.
  2. «Настроить зоны доставки» → нарисуйте контуры. Пересечения редактор вырезает сам, спросив, какая зона главнее; любое действие откатывается.
  3. У каждой зоны: название, цвет, цена, «бесплатно от», минимальный заказ, срок — в минутах, по дням недели или текстом.
  4. В Tilda, в поле «Варианты доставки» (DELIVERY_TYPE), заведите один способ без цены, например «Доставка курьером».
  5. В ЛК под кнопкой зон впишите его название или часть: «курьером». Несколько способов — через запятую.

Остальные способы — ПВЗ, самовывоз, СДЭК — модуль не трогает. Зоны совместимы с картой пунктов выдачи: под каждый способ корзина показывает свой интерфейс.

Дата и время доставки

Как это устроено

Модуль для своего курьера: в корзине появляются ближайшие свободные дни и интервалы, покупатель выбирает день и время. Рабочие дни, интервалы, «на сегодня — до 12:00», срок подготовки и закрытые даты задаются в редакторе расписания; календарь считается по часовому поясу магазина.

  • Пункты выдачи СДЭК, Почты, Яндекс.Доставки — выбор не показывается: срок называет служба. Свой самовывоз — по умолчанию тоже нет; в «Спрашивать и при самовывозе» выберите «Да — как для доставки», а в «Как называется самовывоз в корзине» — слова из названия варианта (по умолчанию «самовывоз, заберу сам»).
  • Зона с днями доставки («Север — пн и чт») — в календаре только её дни.
  • «Интервал можно выбрать» — до начала (по умолчанию) или до конца интервала, с запасом от 0 до 240 минут: «до конца, за 45 мин» — интервал 19:00–20:30 можно выбрать до 19:45. Отсечка «на сегодня» и срок подготовки могут закрыть интервал раньше.
  • «Как показать покупателю» — интервалы кнопками (по умолчанию) или списком, в списке только свободные.
  • «Как покупатель выбирает время»: точное время — вместо интервалов список времён «С»…«До» (оба входят, «До» не позже 23:59) с «Шагом» 15, 30 или 60 минут; «Подготовка» от 0 до 600 минут — выбрать можно только время, до которого осталось не меньше этих минут. С 11:00 до 22:00 каждые 30 минут, подготовка 60 минут — в 18:20 уже не выбрать 19:00. «Заказы на сегодня — до» и «Готовим заказ, дней» тоже действуют и могут закрыть время раньше; вперёд — не больше 14 дней. «Интервал можно выбрать», «Как показать покупателю», «Только дата» и занятые интервалы в этом режиме не действуют, но сохраняются.

Настройка

  1. ЛК сайта → Модули → «Доставка» → включите «Спрашивать дату и время доставки», затем «Изменить расписание».
  2. В форме ST100 добавьте скрытое поле DELIVERY_TIME — в него придёт выбор текстом, например «сб, 26 сентября, 14:00–18:00», при точном времени — «сб, 26 сентября, к 19:30». Имя можно сменить в редакторе расписания; виджет поле сам не создаёт.

Бесплатная доставка и данные покупателя

Бесплатно от суммы

ЛК сайта → Модули → «Доставка» → «Бесплатная доставка»: порог для всех способов, а для отдельных — своя сумма по слову в названии способа. Считаем по сумме товаров со скидкой, без доставки; под способами покупатель видит «До бесплатной доставки осталось 450 ₽». У способа по зонам действует порог зоны.

Реквизиты по ИНН

ЛК сайта → Модули → «Покупатель» → «Реквизиты по ИНН». Покупатель вводит ИНН — название компании, КПП и юридический адрес подставляются сами из DaData по вашему ключу.

Поля добавляете в ST100 сами; виджет находит их по имени переменной (INN, KPP, COMPANY, ORG) или по подписи («ИНН», «КПП», «Название компании», «Организация», «Юридический адрес», «ОГРН»). Подписано иначе — впишите имя в «Дополнительно — поля реквизитов».

Детали для курьера

  • Не забудьте квартиру (включено) — выбрали дом без квартиры: под адресом поле «кв./офис» и ссылка «частный дом». Заказ не держит.
  • Подъезд, этаж, домофон (выключено) — три коротких поля, только при курьере и зонах.
  • Опечатки в почте (включено) — gmial.com, mail.ry: предложим исправить одним нажатием.

Квартира и заметки дописываются в поле адреса одной строкой: «ул Ленина, д 5, кв 12 · подъезд 2, этаж 5». Есть в форме отдельное поле «Квартира» — квартира уйдёт и туда. Переключатели — в «Модули» → «Покупатель».

Рекомендации

Корзина и UX

  • Держите умный адрес всегда: он нужен и для курьера, и чтобы найти ближайшие ПВЗ.
  • В названиях доставок пишите явно «до ПВЗ», «курьер», «до востребования», «постомат» — так проще правила и понятнее покупателю.
  • Штатное поле Tilda «Пункт получения» при активном правиле KitAddr скрывается, чтобы не дублировать выбор.
  • Кнопка пункта появляется только после выбора подходящего способа доставки — не прячьте адрес «ради красоты»: без него поиск ближайших точек хуже.

Качество заказов

  • Для дорогих заказов включите «Требовать выбор из подсказок» — меньше кривых адресов в CRM.
  • После сканера проверьте маппинг на реальной корзине: индекс и город должны заполняться из одной подсказки.
  • В «Данных» заказа должен быть один код пункта — не заводите в ST100 несколько полей под один и тот же код.
  • Отключить всё разом: снимите «Подсказки адреса» в модулях — корзина снова станет обычной Tilda.

Проверка и частые проблемы

  1. Опубликуйте сайт Tilda.
  2. Откройте корзину ST100 с якорем.
  3. Должно появиться поле «Адрес доставки»; при выборе «до ПВЗ» — кнопка пункта.
  4. Выберите пункт → в заказе в «Данных» один PVZ CODE, без дублей.

Не появился виджет — проверьте: домен в ЛК совпадает с сайтом, якорь TILDA_ADDR_ANCHOR=1, токен DaData, активная подписка, скрипт в HEAD.

Кнопка ПВЗ на курьере — в правиле слишком широкая подстрока (например только «сдэк»). Уточните до до пвз.

Нет точек в списке — укажите адрес / «Найти» / геолокацию и убедитесь, что выбран подходящий вариант доставки.

Несколько полей с одним кодом — в ST100 лишние поля; оставьте одно PVZ_CODE.

Виджет есть не во всех корзинах — посмотрите строку «Корзины» в «Здоровье сайта» в ЛК: KitAddr сам обходит сайт и показывает страницы с корзиной, где виджет не включён. Добавьте якорь в нужные корзины — без него корзина остаётся обычной Tilda.

Включите «Debug в консоли» в настройках сайта, если нужно разобрать запрос в DevTools.