---
title: "Уведомления о заказах Shopify, которые доходят до телефона за секунды"
description: "Отправьте вебхуки Shopify прямо на телефон: тихое уведомление о каждом заказе, погромче — о крупной корзине, и звонок, когда возврат или отмена требуют вас."
date: 2026-09-09
author: Nooc
authorAvatarLink: /images/avatars/nooc.webp
authorLink: https://nooc.me
tags:
  - Shopify
  - уведомления о заказах
  - оповещения для интернет-магазина
  - вебхук-уведомления
  - малый бизнес
---

# Уведомления о заказах Shopify, которые доходят до телефона за секунды

Письма Shopify о заказах приходят тогда, когда почтовый клиент решит синхронизироваться, попадают в папку, на которую у вас настроен фильтр, и выглядят одинаково — что заказ на 12 €, что на 1200 €. Если магазин ведёте вы сами, это неправильная форма сигнала.

Вебхук это чинит. Shopify отправит каждый заказ POST-запросом на выбранный вами URL, а Echobell превратит этот POST в уведомление, громкость которого выбираете вы.

## Выберите топики, которые вправе вас отвлекать

Типы событий вебхуков Shopify называет **топиками**. Этих четырёх хватает большинству магазинов, которые ведёт один человек:

| Топик | Что это значит | Срочность |
| --- | --- | --- |
| `orders/create` | Заказ оформлен. | Обычная |
| `orders/paid` | Оплата прошла. Берите этот, если важны только реально пришедшие деньги. | Обычная |
| `orders/cancelled` | Покупатель отменил. Полезно узнать до упаковки. | Срочная |
| `refunds/create` | Оформлен возврат. | Срочная |

Подписывайтесь на `orders/create` **или** на `orders/paid`, но не на оба — если только вам правда не нужны два уведомления на одну продажу. Для большинства магазинов честнее `orders/paid`.

## Шаг 1 — Создайте канал

Создайте в Echobell канал с названием вроде «Заказы Shopify», скопируйте его webhook-URL и включите **Только POST**. Shopify всегда отправляет POST.

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

## Шаг 2 — Добавьте вебхук в Shopify

В админке Shopify откройте **Настройки → Уведомления → Вебхуки → Создать вебхук**. Выберите топик, формат — **JSON**, вставьте URL канала.

При сохранении Shopify отправляет тестовый payload. Если телефон завибрировал, путь работает.

## Шаг 3 — Вынесите в шаблон только те поля, которые вы читаете

Payload заказа в Shopify длинный — больше сотни полей на заказ. Вам нужны единицы:

**Заголовок**

```
Заказ #{{order_number}} · {{total_price}} {{currency}}
```

**Текст**

```
{{customer.first_name}} {{customer.last_name}}
{{line_items[0].title}}
```

`line_items` — массив, поэтому `line_items[0]` это первая позиция. Шаблоны Echobell умеют обращаться по индексу, но цикла нет: заказ из трёх позиций покажет первую и ничего больше. Если это важно, поставьте рядом количество:

```
{{line_items[0].title}} · всего {{line_items.length}} позиций
```

В отличие от Stripe, Shopify присылает `total_price` десятичной строкой — `"49.00"`, а не `4900` — так что читается правильно без всякой арифметики.

## Шаг 4 — Маршрутизируйте по топику условием

Если направить несколько топиков в один канал, Shopify сообщит в заголовке, какой именно пришёл:

```
header["x-shopify-topic"] == "orders/paid"
```

Это самый чистый способ развести поведение, не создавая в админке по вебхуку на канал.

## Будите меня только ради крупных заказов

Схема, которой на самом деле хотят почти все владельцы магазинов: все заказы идут в тихий канал, и только те, что выше порога, — в громкий.

Создайте второй канал, переведите в срочный режим, направьте на него ещё один вебхук `orders/paid` и задайте условие:

```
total_price > 500
```

Теперь обычный день — фоновый гул, а заказ на 900 € — то, что вы почувствуете.

## Чего это не делает

**Без проверки HMAC.** Shopify подписывает каждый вебхук заголовком `X-Shopify-Hmac-Sha256`. Echobell его не проверяет, поэтому URL канала — единственное, что не пускает посторонних. Держите его в секрете, оставьте **Только POST** включённым, а если поддельное уведомление о заказе нанесёт реальный ущерб, поставьте впереди собственный эндпоинт, проверяйте HMAC там и вызывайте Echobell уже оттуда.

**Shopify может доставить один и тот же вебхук дважды.** Он повторяет попытки при сбое, и повторы не дедуплицируются. Считайте уведомление поводом посмотреть заказ, а не счётчиком заказов. Источник истины — админка Shopify.

**Инвентарные топики быстро становятся шумными.** `inventory_levels/update` срабатывает на любое движение остатков, включая ваши собственные правки. Нужны оповещения о низком остатке — фильтруйте жёстко, иначе пожалеете ещё до обеда.

## Частые вопросы

### Нужно ли для этого приложение Shopify?

Нет. Вебхуки в разделе **Настройки → Уведомления** встроены в админку и не требуют ни приложения, ни партнёрского аккаунта, ни кода.

### Может ли склад видеть заказы, не видя моей админки Shopify?

Да. Поделитесь с ними каналом. Они получат уведомления и ничего больше — без доступа в админку и без данных покупателей сверх того, что вы включили в шаблон.

### Стоит ли класть имена покупателей в уведомление?

Это ваш выбор, и его стоит сделать осознанно. Всё, что попало в шаблон, показывается на заблокированном экране. Номера заказа и суммы обычно достаточно, чтобы решить, реагировать ли.

### Можно получить звонок при чарджбэке?

Споры в Shopify Payments приходят топиком `disputes/create` в магазинах, использующих Shopify Payments. Направьте его в канал со звонком — это единственное заказное событие со сроком.

## Итог

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

[Скачайте Echobell для iPhone](https://apps.apple.com/app/apple-store/id6743597198?pt=128151925&ct=blog-shopify-order-notifications-ru&mt=8) или [возьмите в Google Play](https://play.google.com/store/apps/details?id=one.echobell.echobellandroid), затем оформите тестовый заказ и посмотрите, как он придёт раньше письма-подтверждения.

---

## Связанные материалы

- [Оповещения о платежах Stripe](/ru/blog/stripe-payment-alerts)
- [Документация по вебхук-триггеру](/ru/docs/webhook)
- [Справочник по системе шаблонов](/ru/docs/template)
- [Справочник по условиям канала](/ru/docs/conditions)
- [Руководство разработчика по борьбе с усталостью от оповещений](/ru/blog/fix-alert-fatigue-developer-guide)
