Skip to Content

При программном создании ссылок с помощью Revroute вам может понадобиться способ связать их с пользователем или другими идентификаторами в вашей системе.

Существует несколько способов сделать это в зависимости от структуры ваших данных:

СпособСвязьЧто этоКогда применять
External IDодин к одномуУникальный идентификатор ссылки в вашей системеСвязать реферальную ссылку с конкретным пользователем
Tenant IDодин ко многимИдентификатор арендатора, создавшего ссылкуСгруппировать все ссылки одного пользователя или команды
Тегимногие ко многимГруппировка ссылок по меткамРазложить ссылки по кампаниям, клиентам и другим срезам для отчётов
Папкиодин ко многимИдентификатор папки, в которой лежит ссылкаВыстроить иерархию папок и наводить порядок в большом количестве ссылок

Внешний идентификатор externalId

Иногда ссылку нужно опознавать по идентификатору из вашей системы. Например, связать реферальную ссылку с пользователем, не храня при этом идентификатор ссылки Revroute в своей базе.

Для этого и нужно поле externalId. Это уникальный идентификатор на вашей стороне, который сопоставляется с конкретной ссылкой в системе Revroute.

Revroute позволяет создать ссылку с externalId, а затем получать её по тому же идентификатору.

📝

Значение externalId должно быть уникальным в пределах рабочего пространства. Попытка создать вторую ссылку с уже занятым externalId вернёт ошибку конфликта 409 — см. «API: ошибки».

Создание ссылки с externalId

Пример создания ссылки с полем externalId:

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const link = await dub.links.create({ url: "https://google.com", externalId: "12345", });

Получение ссылки по externalId

Как получить ссылку по её externalId:

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const link = await dub.links.get({ externalId: "12345", });

Обновление ссылки по externalId

Ссылку можно обновлять не только по linkId, но и по externalId.

📝

Не забудьте префикс ext_ перед значением externalId. Например, если externalId равен 12345, передавать нужно ext_12345.

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const link = await dub.links.update("ext_12345", { url: "https://www.google.uk", // new URL });

Аналитика по externalId

Аналитику по ссылке тоже можно запрашивать по externalId — удобно, когда в вашей системе ссылка известна только под своим идентификатором.

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const analytics = await dub.analytics.retrieve({ externalId: "ext_12345", });

Идентификатор арендатора tenantId

Идентификатор арендатора, создавшего ссылку в вашей системе. Если он задан, по нему можно получить все ссылки этого арендатора. Приём полезен, когда пользователи создают ссылки сами, а вам нужно группировать их по владельцу.

Создание ссылки с tenantId

Пример создания ссылки с идентификатором арендатора:

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const link = await dub.links.create({ url: "https://google.com", tenantId: "12345", });

Получение ссылок по tenantId

Как получить список ссылок по идентификатору арендатора:

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const result = await dub.links.list({ tenantId: "12345", });

Аналитика по tenantId

Передайте параметр tenantId — и получите аналитику по всем ссылкам конкретного арендатора или суммарные показатели по нему.

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const analytics = await dub.analytics.retrieve({ tenantId: "12345", });

Теги

Теги — самый гибкий способ навести порядок в ссылках Revroute.

С тегами вы можете:

Создание ссылки с тегами

При создании ссылки можно передать либо идентификатор тега, либо его название.

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const link = await dub.links.create({ url: "https://example.com", tagIds: ["clux0rgak00011..."], });

Получение ссылок по тегам

Список ссылок можно запросить с фильтром по тегам.

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const result = await dub.links.list({ tagNames: ["tag1"], });

Аналитика по тегам

Передайте параметр tagIds — и получите аналитику по одному или нескольким тегам: как по каждой ссылке под тегом, так и суммарно.

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const analytics = await dub.analytics.retrieve({ tagIds: ["tag_xxx"], });

Папки

Папки — иерархический способ организации ссылок в Revroute.

С папками вы можете:

Создание ссылки с folderId

Чтобы положить ссылку в папку, передайте идентификатор папки при создании.

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const link = await dub.links.create({ url: "https://example.com", folderId: "clux0rgak00011...", });

Получение ссылок по папке

Как получить список ссылок по идентификатору папки:

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const result = await dub.links.list({ folderId: "clux0rgak00011...", });

Аналитика по папке

Передайте параметр folderId — и получите аналитику по всем ссылкам внутри папки или суммарные показатели по ней.

import { Revroute } from "dub"; export const dub = new Revroute({ token: process.env.REVROUTE_API_KEY, }); const analytics = await dub.analytics.retrieve({ folderId: "clux0rgak00011...", });
Last updated on