# Подписка на уведомления

В модуле есть 2 вида подписки:

1. Полная - когда пользователь делиться контактом с ботом (при первом взаимодействии `/start`), тогда по всем заказам с телефоном пользователя будут приходить уведомления

<div data-full-width="true"><figure><img src="https://2369838666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mj-gwbYdQWRhuB0jULI%2Fuploads%2FJehDXmzVuqHEYUytPZYH%2Fimage.png?alt=media&#x26;token=f3a89c18-1134-4b1d-8607-ba0e4aabf443" alt=""><figcaption></figcaption></figure></div>

2. Единичная - когда после заказа он переходит по ссылке <https://t.me/MyBotNAME?start=GUID> (где MyBotNAME - username вашего бота, а GUID - уникальный идентификатор заказа) из письма или на странице после оформления заказа, тогда пользователю приходят только те заказы на которые он подписался

{% hint style="warning" %}
**Внимание!** При единичной подписке не доступен полный функционал бота и он всегда будет видеть кнопку "Поделиться контактом"

При полной подписк, пользвоателю не нужно подписываться на заказы, т.к. они будут автомтом привзяаны к предсоатвленному боту номеру телефона
{% endhint %}

В XML данные Shop\_Payment\_System\_Handler (страница завершения заказа, письма о заказе) попадают следующие параметры (если пользователь не был подписан ранее, определяется по телефну казанному в заказе):

* **isSubscribeTg** - POST\['telegramSubscribe'] параметр передаваемый из корзины (например если пользвоатель выбрал в корзине подписаться)
* **telegram\_link** - ссылка <https://t.me/MyBotNAME?start=GUID> (где MyBotNAME - username вашего бота, а GUID - уникальный идентификатор заказа)

<div data-full-width="true"><figure><img src="https://2369838666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mj-gwbYdQWRhuB0jULI%2Fuploads%2F8fglNmyVkDOXb7bjKkQN%2Fimage.png?alt=media&#x26;token=4c231033-8540-4a85-9c17-cdfc9b50f65d" alt=""><figcaption><p>Корзина: оформление заказа</p></figcaption></figure></div>

{% code overflow="wrap" %}

```php
/**
* ТДС Интернет-магазин корзина
* Добавим в контроллер Shop_Address_Controller_Show активность модуля, чтобы при отключени модуля не выводить в корзине подписку на telegram
*/

$Shop_Address_Controller_Show->addEntity(
	Core::factory('Core_Xml_Entity')
		->name('telegrambotIsActive')
		->value(Core::moduleIsActive('telegrambot'))
);
```

{% endcode %}

<pre class="language-html"><code class="lang-html"><strong>&#x3C;!-- XSL шаблон "МагазинАдресДоставки" -->
</strong><strong>&#x3C;xsl:if test="telegrambotIsActive = 1">
</strong>	&#x3C;div class="custom-control custom-switch mb-3">
		&#x3C;input type="checkbox" class="custom-control-input" id="telegramSubscribe" name="telegramSubscribe" />
		&#x3C;label class="custom-control-label" for="telegramSubscribe" style="color:#0088cc;">&#x3C;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512" height="16" fill="currentColor">&#x3C;path d="M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z"/>&#x3C;/svg> Подписаться на уведомления в Telegram&#x3C;/label>
	&#x3C;/div>
&#x3C;/xsl:if>
</code></pre>

```html
<!-- XSL шаблон "ОплатаПриПолучении" или "ПисьмоПользователю"-->
<xsl:if test="telegram_link">
	<div class="alert alert-warning">Ссылка для подписки на уведомления в Telegram <a class="alert-link" href="{telegram_link}" target="_blank">подписаться</a></div>
</xsl:if>
<xsl:if test="isSubscribeTg = 1 and telegram_link">
	<script type="text/javascript">setTimeout(function(){window.open('<xsl:value-of select="telegram_link"/>')}, 500);</script>
</xsl:if>
```
