> For the complete documentation index, see [llms.txt](https://docs.mavibot.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mavibot.ai/doc/uk/faq/questions/refferal.md).

# ...Створити реферальну програму

## **Реферальна програма в WhatsApp**

Функціональність створеного бота: \
1\. Генерування реферального (партнерського) посилання; \
2\. Перевірка, чи вже є користувач у базі; \
3\. Сповіщення запрошувача про нового реферала; \
4\. Реєстрація користувачів у базі; \
5\. Отримання списку рефералів.

1. Щоб ми могли зрозуміти, від кого прийшов користувач, бот створює посилання за шаблоном: link = <https://wa.me/(ваш> номер, до якого підключено бота)?text=You%20were%20recommended%20by%20#{phone}%20Hello

![](https://lh5.googleusercontent.com/UFTHmg7enycazJJcAX85sNe0amCcV-Z1jFDzKio1P_V453pMBBgxDFxzzXD8m_1_moxyfNvekhThOK_iEKFrBXhIpe331F5jt_UnJqeVDfbpTIdaUGWgPSDjct8CWgaEwzxRoXHmBm9OVmY3OA)

Замість #{phone} вводиться номер телефону клієнта — той самий номер, який запитав своє реферальне посилання.

Згенероване посилання ми надсилаємо не як текст блоку, а як вкладення (посилання з повідомленням про клік), так посилання виглядає коротшим.

![](https://lh4.googleusercontent.com/xyO2IAkdp1sA4GDQvG6-wxSTVfecBrh_JXXpeepVocvsQqh2Qvll9LUX84QtgS87dB9VVS7MngYuxYJZORZNdGlA_yFRgXtH2PHIxDE4_adZ1FfAiwZhAoLg_4xqFsbRJqR7p8-T8ooMndLdOQ)

2\. Отже, у нас є посилання, через яке нові користувачі потрапляють у бота. Під час переходу за партнерським посиланням клієнт отримує відкрите вікно чату з уже заповненим повідомленням (як показано нижче)

![](https://lh3.googleusercontent.com/0Ih9mRg_P3SEJPuHRz6gKQA6WiQPBe3bp6RmCgpS7_Y0JH2C3QSQSBkhhIC6LkX1yf8V22_m6YxD7d2XSHN-V73CDnyj72KmQ-GEK3KhVluA9lDFyoW2yU3TQ0igSIv58ilfJqSGLqWqXudV2Q)

Команда перевірки працюватиме лише якщо бот знайде номер телефону з отриманого від клієнта повідомлення.

Третій крок:

* розбити фразу на складові за допомогою команди-роздільника (інструкція [тут](https://docs.salebot.ai/variables/calculator#to-work-with-strings))
* налаштувати стрілку за допомогою регулярного виразу (і перевірити, чи номер телефону правильний)
* зберегти номер телефону з повідомлення у змінну (наприклад #{ref})
* перевірити номер телефону клієнта (того, хто натиснув на посилання), щоб побачити, чи вже є він чиїмось рефералом (запрошеним раніше кимось іншим і внесеним у нашу базу). Ми робимо це за допомогою функції пошуку по колонці (інструкція [тут](https://docs.salebot.ai/integrations/google-tables))

![](/files/0913cbbc3db9c8d13a4937c8e2c915a966fbf37b)

1. Тепер внесімо запрошувача та запрошеного до бази даних (інструкція [тут](https://docs.salebot.ai/integrations/google-tables))
2. Додаймо до бота спеціальну команду — команду, яка дає змогу переглядати список рефералів (інструкція [тут](https://docs.salebot.ai/integrations/google-tables))

![](/files/63bef06f914be8b7d8e6f39bc61f6862cfe6555e)

В інших месенджерах створити таку реферальну систему ще простіше, оскільки дані про запрошувача передаються через прихований параметр під час переходу, і новому клієнту не потрібно надсилати текст на кшталт «Мене запросив цей номер».

## Відеоверсія статті


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.mavibot.ai/doc/uk/faq/questions/refferal.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
