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

Я знаю, что могу создавать реферальные ссылки в своем собственном приложении для данного пользователя.

т.е.

branch.setIdentity(userId);
const branchUniversalObject = await 
branch.createBranchUniversalObject(..);
const { url } = await branchUniversalObject.generateShortUrl(linkProperties);

Но я хочу, чтобы для каждого пользователя в моей базе данных была создана уникальная реферальная ссылка. Не в моем мобильном приложении, а в веб-приложении администратора (которое написано на узле), чтобы я мог отправить всем своим пользователям электронные письма с их уникальными реферальными ссылками.

Сделал бы что-то вроде этого, если бы был пакет узла, но нет

users.forEach(user => {
  branch.setIdentity(user.userId);
  const branchUniversalObject = await branch.createBranchUniversalObject(..);
  const { url } = await branchUniversalObject.generateShortUrl(linkProperties);
  saveUserReferalLink(user, url);
});

Я смотрю на API

https://docs.branch.io/pages/apps/api/

но не совсем уверен, что мне нужно делать

создать ссылку с помощью https://api.branch.io/v1/url и установить пользователя в параметре stage?

Спасибо за любую помощь заранее

Обновить

По предположению Евгения Гайдамахи, в документации сказано следующее

Реферальные ссылки

  • Создайте пользователя с $identity_id
  • Создайте ссылку с $identity_id из шага 1 в словаре данных ссылки

Однако я изо всех сил пытался создать пользователя. Документация предлагает создать пользователя, как показано ниже

curl -XPOST https://api.branch.io/v1/profile \
  -d '{
    "branch_key":"MY_KEY",
    "identity":"steve",
    "identity_id":"444"
}'

Вопрос в том, каким должен быть identity_id на самом деле? 444, например, не работает, он не будет создавать пользователя. Идентификатор 12345678 работает, но в итоге создает пользователя на вкладке удостоверений на вкладке liveview панели мониторинга с датой 2014-05-28, идентификатор, по-видимому, зависит от времени. В идеале я бы вообще не передавал identity_id, он бы автоматически генерировал его, как это делает setIdentity('steve').

Затем я обнаружил эту статью, в которой говорится, что мне вообще не нужно создавать пользователя, но я передаю свою идентификационную информацию по ссылке, то есть "steve" в приведенном выше примере, в качестве идентификатора разработчика филиала, и что при отсутствии identity_id (ID идентификации филиала), связанный с личностью, будет создан новый.

/questions/18709777/kak-poluchit-dostup-k-identifikatoru-filiala-iz-identifikatorov-s-sajta-branchio/18709789#18709789

Что здорово, я попробовал, и это работает, единственная проблема сейчас в том, что вновь созданный пользователь не отображается на вкладке "идентификаторы" в liveview. Я знаю, что пользователь существует, потому что, если я выполняю пользовательскую идентификацию чтения, передавая, например, "steve", я получаю ответ с новым "identity_id" (Branch Identity ID).

Подводя итог мои вопросы

Каким должен быть идентификатор_идентификатора (идентификационный номер филиала) при создании нового пользователя?

Почему новые пользователи не отображаются на вкладке "идентичности" в режиме реального времени, когда я создаю новую ссылку и передаю идентификационные данные разработчика?

1 ответ

Чтобы создать реферальную ссылку через API, вам потребуется создать идентификатор_идентификатора пользователя в соответствии с документацией Branch (или иметь идентификационный номер под рукой), а затем включить $identity_id в словарь данных, например, так:

curl -XPOST https://api.branch.io/v1/url \
  -d '{
  "branch_key": "YOUR_BRANCH_KEY",
  "channel": "facebook",
  "feature": "onboarding",
  "campaign": "new product",
  "stage": "new user",
  "tags": ["one", "two", "three"],
  "data": {
    "$identity_id": "444",
    "$canonical_identifier": "content/123",
    "$og_title": "Title from Deep Link",
    "$og_description": "Description from Deep Link",
    "$og_image_url": "http://www.lorempixel.com/400/400/",
    "$desktop_url": "http://www.example.com",
    "custom_boolean": true,
    "custom_integer": 1243,
    "custom_string": "everything",
    "custom_array": [1,2,3,4,5,6],
    "custom_object": { "random": "dictionary" }
  }
}'
Другие вопросы по тегам