@revroute/embed-core
v0.1.0
Published
Vanilla JS script that embeds the RevRoute partner dashboard into your app.
Maintainers
Readme
@revroute/embed-core
Ванильный JS-скрипт для встраивания партнёрского кабинета RevRoute в ваше приложение. Если вы на React, возьмите @revroute/embed-react — он собран поверх этого пакета.
Установка
npm install @revroute/embed-coreИспользование
Токен выпускается на вашем сервере, секретный API-ключ в браузер не попадает:
const res = await fetch("https://app.revroute.ru/api/tokens/embed/referrals", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.REVROUTE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ tenantId: user.id }),
});
const { publicToken } = await res.json();Дальше на странице:
import { init } from "@revroute/embed-core";
const embed = init({
token: publicToken,
data: "referrals",
root: document.getElementById("referrals"),
theme: "system",
themeOptions: { backgroundColor: "#f5f5f5" },
onError: (error) => console.error(error),
});
// когда контейнер уходит со страницы
embed?.destroy();Публичный токен живёт 3 часа и привязан к одному партнёру — запрашивайте его при загрузке страницы, а не храните в базе.
Параметры init
| Параметр | Тип | Описание |
|---|---|---|
| token | string | Публичный токен, обязателен |
| data | "referrals" \| "analytics" | Что показывать |
| root | HTMLElement | Куда встроить; по умолчанию создаётся контейнер |
| theme | "light" \| "dark" \| "system" | Оформление, по умолчанию светлое |
| themeOptions | { backgroundColor?: string } | Цвет фона под ваш интерфейс |
| containerStyles | Partial<CSSStyleDeclaration> | Стили контейнера |
| onError | (error: Error) => void | Обработчик ошибок |
Через тег script
Сборка dist/embed/script.js вешает API на window.RevRoute:
<script src="/path/to/embed/script.js"></script>
<script>
window.RevRoute.init({ token: publicToken, data: "referrals" });
</script>window.Dub оставлен алиасом на тот же объект для совместимости с исходным
пакетом и будет убран в 1.0.
Документация
https://revroute.ru/ru/docs/partners/embedded-referrals
Лицензия
MIT. Пакет основан на @dub/embed-core — см. LICENSE.
