Инструменты и примеры
Справочники: события и метрики, iOS SDK, Flutter SDK. Практический пример: подтверждённая корзина и GA4. Проверка по симптому: диагностика интеграции.
Готовые примеры
| Пример | Что проверяется | Инструкция |
|---|---|---|
| Web SDK ZIP | Реальный bundle, каталог и player на зарегистрированном origin | Web SDK |
| API ZIP | Непустой fixture, запрос к API, карточка эфира и открытие Web SDK player на реальных данных | API Quickstart |
| iOS ZIP | Сборка app, entrypoint и player с выданным SDK | Native iOS |
| Flutter ZIP | iOS host, native preview и product actions | Flutter на iOS |
iOS и Flutter ZIP относятся к опубликованным iOS-версиям. Android SDK и Flutter на Android — отдельные поставки: платформы и формат подключения. Для расширенного commerce-сценария получите комплект SDK с регистрацией и примером; фрагмент адаптера не заменяет этот комплект.
Архивы содержат код приложения или страницы и README. Приватные SDK, credentials и клиентские данные в них не входят. Для SDK-примеров нужен доступ к указанной версии пакета; для реального контента — параметры проекта. API fixture явно отделён от реального запроса.
Файлы для интеграции
- OpenAPI YAML — машиночитаемая схема публичных API-методов.
- OpenAPI viewer — чтение схемы в браузере.
- Postman collection — запросы со служебными значениями вместо данных production-клиентов.
- CSS-пример бейджа — необязательный вариант оформления для собственного интерфейса.
OpenAPI определяет публичные поля и обязательные параметры. Руководства описывают порядок интеграции и смысл ответов API.
Быстрая локальная проверка
Скачайте API starter, распакуйте его и проверьте синтетический ответ с Node.js 22+:
node request-streams.mjs --fixture streams.fixture.json
Ожидается запись stream-vod-1 со строковым товарным ID 0001001. Fixture проверяет обработку данных, не сеть или playback. Реальный cURL/Node.js-запрос с timeout и отдельной проверкой HTTP/envelope приведён в Quickstart. Повторы с общим deadline — в rate limiting. Browser origin регистрируется до сетевой проверки в браузере.
Postman
После импорта создайте локальное окружение:
| Переменная | Значение |
|---|---|
baseUrl | https://app.shopstory.live |
applicationId | Значение, выданное для вашего проекта |
feedProductId | Тестовый ID из принятого фида |
translationId | ID тестовой трансляции из /v3/streams |
Не публикуйте environment-файл и не записывайте в коллекцию cookies, пароли или access tokens. applicationId не является секретом. Реальные клиентские идентификаторы в общедоступном примере не нужны.
Автоматическая проверка клиента
Автоматический contract test должен проверять:
- Тело ответа содержит JSON с числовым полем
statusверхнего уровня. - Клиент различает транспортную HTTP-ошибку и бизнес-ошибку внутри конверта.
availableStreamsиplannedStreamsобрабатываются как массивы.- Пустая выдача отображается как отдельное состояние интерфейса.
- Идентификаторы сохраняются строками.
- Незнакомое необязательное поле не ломает десериализацию.
- Timeout или недоступность ShopStory не блокируют основной интерфейс клиента.
В тестах используйте выданный тестовый контур или локальные fixtures. Не связывайте CI с конкретным production-эфиром или фиксированным количеством записей.
Проверка Mobile SDK
Postman и OpenAPI проверяют HTTP-контракт. Нативную интеграцию проверяйте отдельно для версии пакета из integration handoff:
feedProductIdостаётся строкой между каталогом мобильного приложения, SDK и commerce-системой.- SDK передаёт приложению типизированное product action с идентификатором выбранного товара.
- Выбранное действие открывает native PDP либо, для прямой корзины, приложение проверяет актуальный остаток и изменяет корзину в системе ритейлера.
- Состояние плеера и событие аналитики не определяют результат операции.
- Ошибка SDK или commerce API не блокирует PDP, navigation и checkout.
Web callback(boolean) относится только к Web SDK. Mobile host получает типизированное действие. Его обработка описана в руководстве для соответствующей версии пакета. Доступ к пакету и клиентские routes выдаются отдельно; документированные версии опубликованы. Публичный контракт: Mobile SDK.
Проверка OpenAPI
Подключите спецификацию к линтеру и генератору типов. После генерации клиента отдельно проверяйте body.status, no_active_stream и пустые массивы.
Подходящие инструменты:
- Redocly CLI — проверка и сборка OpenAPI;
- Spectral — правила схемы;
- Schemathesis — contract-based tests.
Закрепите версию генератора и проверяйте diff сгенерированного клиента при code review.
Данные для обращения
В обращении на support@shopstory.live укажите:
- endpoint и очищенные query-параметры;
- HTTP-код и
statusиз JSON; - время с часовым поясом;
- URL страницы и origin для CORS-проблемы;
- браузер, ОС и короткие шаги воспроизведения.
Перед отправкой удалите cookies, заголовки авторизации, пароли фида, персональные данные и содержимое клиентской корзины.