Перейти к основному содержимому
Altcraft Docs LogoAltcraft Docs Logo
Пользователям iconПользователям
Разработчикам iconРазработчикам
Администраторам iconАдминистраторам
Русский
  • Русский
  • English
Войти
    API пользователяВзаимодействие с APIМатчинг
      Профилиarrow
    • Импортировать профильОбновить профильДобавить профиль в базу данныхПолучить информацию о профилеИмпортировать профиль в RabbitMQМассовое добавление профилей в базу данныхМассовое обновление профилейМассовый импорт профилейУдалить профильФункциональное обновление полей базыФункциональное обновление полей подпискиВыгрузка профилей в файлПолучение данных по нескольким профилямОбъединение нескольких профилейОтписать профиль от ресурсаРазделение профиля
        Историяarrow
      • Получить историю одного профиляПолучить историю нескольких профилей
        Связи профилейarrow
      • Добавить связьУдалить связьУсилить/ослабить связьПерезаписать значения свойств связиПолучить информацию о связях профиляПолучить список связей профиля
        Подпискиarrow
      • Добавить или редактировать подпискуПолучить все подписки профиляПолучить все подписки нескольких профилейПолучить информацию о подписке профиляУдалить подписку профиляВосстановить удаленную подписку профиляПриостановить все подпискиВосстановить все приостановленные подписки
      Базы данныхarrow
    • Получить список баз данныхПолучить информацию о базе данныхПолучить информацию о полях базы данныхОчистка базы данных для тестированияПолучить статистику по базе данныхОбновить статистику по базе данных
      Ресурсыarrow
    • Получить список ресурсовПолучить информацию о ресурсеПолучить информацию о полях подписки ресурсаПолучить статистику по ресурсамОбновить статистику по ресурсам
      Сегментыarrow
    • Добавить сегментОбновить сегментПолучить информацию о сегментеПолучить список сегментовУдалить сегментПолучить статистику по сегментамОбновить статистику по сегментамДобавить или удалить профильПолучить данные профилей статического или обновляемого сегмента
      Стоп-спискиarrow
    • Добавить стоп-списокПереименовать стоп-списокПолучить информацию о стоп-спискеПолучить информацию о нескольких стоп-списковУдалить стоп-списокВыгрузить данные из стоп-списка в файл
        Добавление и удаление из стоп-спискаarrow
      • Проверить email-адрес в стоп-спискеДобавить email-адрес в стоп-списокДобавить один или несколько email-адресов в стоп-списокУдалить email-адрес из стоп-спискаУдалить все email-адреса из стоп-спискаПроверить домен в стоп-спискеДобавить домен в стоп-списокДобавить один или несколько доменов в стоп-списокУдалить домен из стоп-спискаУдалить все домены из стоп-спискаПроверить номер телефона в стоп-спискеДобавить номер телефона в стоп-списокДобавить один или несколько номеров в стоп-списокУдалить номер из стоп-спискаУдалить все номера из стоп-списка
      Шаблоныarrow
    • Получить список шаблоновПолучить информацию о шаблонеУдалить шаблонДобавить шаблон сообщенияОбновить шаблон сообщенияChannel object
      Рассылкиarrow
    • Получить список рассылокПолучить информацию о рассылкеПолучить лог рассылкиКлонировать рассылкуУдалить рассылкуАктивировать рассылкуДеактивировать рассылкуПолучить статус рассылки
        Броадкаст рассылкиarrow
      • Получить список броадкаст рассылокПолучить информацию о броадкаст рассылкеДобавить броадкаст рассылкуОбновить броадкаст рассылкуЗапустить броадкаст рассылку
        Регулярные рассылкиarrow
      • Получить список регулярных рассылокПолучить информацию о регулярной рассылкеДобавить регулярную рассылкуОбновить регулярную рассылкуЗапустить регулярную рассылку
        Триггерыarrow
      • Получить список триггерных рассылокПолучить информацию о триггерной рассылкеДобавить триггерную рассылкуОбновить триггерную рассылкуЗапуск триггерной рассылки (API call)Импорт профиля + Отправка триггераЗадание на массовую отправку триггераЗадание на массовый импорт профилей + отправка триггераМассовая отправка триггераМассовый импорт профилей + отправка триггераКлонировать триггер рассылкуData array
      Кампанииarrow
    • Получить информацию о кампанииПолучить список кампанийАктивация кампанииЗавершение кампанииДеактивация кампанииПолучить статус кампании
      Сценарии (цепочки)arrow
    • Отправить профиль клиента в сценарийОдновременный импорт и запуск профиля в сценарийМассовый импорт и запуск профилей в сценарийЗадание на массовый импорт и запуск профилей в сценарийПолучить список сценариевАктивировать сценарийДеактивировать сценарий
      Промокодыarrow
    • Импортировать промокодыПолучить информацию о промокодеАктивировать промокодОбновить промокодПривязать промокод к профилюОтвязать промокод от профиляПолучить все промокоды
      Программы лояльностиarrow
    • Получить уровень профиля в программе лояльностиЭкспорт транзакций балловСгораемые баллы за периодПолучение транзакций по счёту профиляПолучение списка триггерных промоакцийНачисление баллов участникуСписание баллов участникаПодтверждение временной транзакцииПредварительный расчет заказаПодтверждение заказаОтмена временной транзакцииОтмена балльной транзакцииПолучение баланса балльного счётаРегистрация участника в программе лояльностиМассовая регистрация участников в программу лояльностиЗадание на массовое добавление участников в программу лояльностиУдаление участника из программы лояльности
      Формыarrow
    • Получить информацию о формеПолучение списка формЭкспорт данных заполнения формы по пользователюЭкспорт данных заполнений формыОпубликовать формуСнять форму с публикацииУдалить форму
      Целиarrow
    • Регистрация события достижения цели
      Пуши приложенийarrow
    • Обработка и добавление подпискиДобавить события с app push
      Маркетarrow
      • Объекты маркетаarrow
      • Структура заказа (order data object)Product data objectСтруктура SKU (SKU data object)Категории (categories array)Custom fields array
        Заказыarrow
      • Импорт заказа и статусов позицийПолучить список заказовУдалить заказПолучить статус заказаИзменение статуса позиции заказа
        Продукты и SKUarrow
      • Импорт продуктов, SKU и категорийПолучение списка продуктовПолучение списка SKUИмпорт SKU и категорийУдалить продуктыУдалить SKU
      Отчеты и статистикаarrow
    • Получить сводный отчетПолучить отчет о возвратахПолучить отчет о недоставках
      Сендерыarrow
    • Получить список сендеров
        Виртуальные сендерыarrow
      • Получить список виртуальных сендеровПолучить информацию о виртуальном сендереКлонировать виртуальный сендерДобавить виртуальный сендерОбновить виртуальный сендерУдалить виртуальный сендер
      Объектыarrow
    • AKMTA objectContent objectEmail rule objectFile objectProfile data objectSMS rule objectSender objectSender typesStart schedule objectSubscription objectTrigger types
      Запросы к внешним базам данныхarrow
      • Запросы сегментацииarrow
      • Добавить запрос сегментацииОбновить запрос сегментацииПолучить информацию о запросе сегментацииПолучить список запросов на сегментациюУдалить запрос сегментации
        Запросы для шаблоновarrow
      • Добавить запрос для шаблоновОбновить запрос для шаблоновПолучить информацию о запросе для шаблоновПолучить список запросов для шаблоновУдалить запрос для шаблонов
      Прочееarrow
    • Загрузить файлПолучить веб-версию сообщенияPush провайдерыДедупликация запросовРабота с API через RabbitMQСписок гендерных идентификацийПолучить допустимые значения полей browsers, devices, tz, oses, languages
    Список API-методовИмпорт и настройка коллекции API-методов в Postman
      SDKarrow
      • mSDKarrow
        • Androidarrow
        • Быстрый стартКонфигурация SDKФункционал SDKПубличный API SDK
            Настройка провайдеровarrow
          • Firebase Cloud MessagingHuawei Mobile ServicesRuStore
          iOSarrow
        • Быстрый стартКонфигурация SDKФункционал SDKПубличный API SDK
            Настройка провайдеровarrow
          • Apple Push Notification ServiceFirebase Cloud MessagingHuawei Mobile Services
          React Native (Android/iOS)arrow
        • Быстрый стартКонфигурация SDKФункционал SDKПубличный API SDKНастройка провайдеров
          Flutter (Android/iOS)arrow
        • Быстрый стартКонфигурация SDKФункционал SDKПубличный API SDKНастройка провайдеров
        Работа с ролевым и JWT-токеном
      Web Push SDK
  • SDK
  • mSDK
  • Flutter (Android/iOS)
  • Конфигурация SDK

Конфигурация SDK

Предварительные условия​

  • В Flutter-проект добавлен пакет altcraft_sdk.
  • SDK провайдеров push-уведомлений интегрированы в проект приложения.
  • Для Android настроен один или несколько провайдеров: FCM, HMS, RuStore.
  • Для iOS настроен один или несколько провайдеров: APNS, FCM, HMS.
  • Если API-запросы должны авторизоваться через JWT, JWT-провайдер зарегистрирован на нативной стороне приложения.
flutter pub add altcraft_sdk
flutter pub get

Подготовка приложения​

Передача JWT-токена в SDK (опционально)​

Реализация JWT требуется, если используется JWT-аутентификация API-запросов. JWT подтверждает, что пользовательские идентификаторы аутентифицированы приложением.

Реализация JWT-аутентификации обязательна, если используется тип матчинга, отличный от push-данных из подписки, например email, телефон или внутренний идентификатор пользователя.

В Flutter SDK JWT-провайдер не регистрируется через Dart API. Его необходимо настроить нативно:

  • Android: в Application.onCreate;
  • iOS: в AppDelegate.

Настройка выполняется аналогично нативным SDK платформ: Android и iOS.


Подготовка к работе с push-провайдерами​

Настройка push-провайдеров выполняется на нативной стороне приложения.

Android:

  • Подключение FCM
  • Подключение HMS
  • Подключение RuStore
  • Передача push-уведомлений в SDK

iOS:

  • Подключение APNS
  • Подключение FCM
  • Подключение HMS
  • Настройка AppDelegate
  • Подготовка NSE
Важно

Flutter-пакет предоставляет Dart API и платформенный bridge. Регистрация JWT, push-провайдеров, обработка APNS/FCM/HMS/RuStore и настройка Notification Service Extension выполняются в нативных частях проекта.


Инициализация SDK​

Параметры инициализации​

Для передачи параметров конфигурации используется объект AltcraftConfig:

const AltcraftConfig(
apiUrl: 'https://pxl-example.altcraft.com',
appInfo: AppInfo(
appID: '1:000000000000:android:0000000000000000',
appIID: '00000000-0000-4000-8000-000000000000',
appVer: '1.0.0',
),
providerPriorityList: ['android-firebase'],
)

Описание параметров:

apiUrl String
Обязательный: Да
Описание: URL конечной точки Altcraft API.


appInfo AppInfo?
По умолчанию: null
Обязательный: Нет
Описание: Базовые метаданные приложения.

Поля AppInfo:

ПолеТипОписание
appIDStringИдентификатор приложения.
appIIDStringИдентификатор установки приложения.
appVerStringВерсия приложения.

providerPriorityList List<String>?
По умолчанию: null
Обязательный: Нет
Описание: Список приоритетов push-провайдеров. Индекс 0 — самый приоритетный провайдер.

Пример для Android:

providerPriorityList: ['android-firebase', 'android-huawei', 'android-rustore']

Пример для iOS:

providerPriorityList: ['ios-apns', 'ios-firebase', 'ios-huawei']

Выполнение инициализации​

Для инициализации SDK используйте функцию initialize(config):

import 'package:altcraft_sdk/altcraft_sdk.dart';
import 'package:flutter/widgets.dart';

Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();

await AltcraftSDK.initialize(
const AltcraftConfig(
apiUrl: 'https://pxl-example.altcraft.com',
appInfo: AppInfo(
appID: '1:000000000000:ios:0000000000000000',
appIID: '00000000-0000-4000-8000-000000000001',
appVer: '1.0.0',
),
providerPriorityList: ['ios-apns'],
),
);

runApp(const AppRoot());
}

class AppRoot extends StatelessWidget {
const AppRoot({super.key});

@override
Widget build(BuildContext context) {
return const Directionality(
textDirection: TextDirection.ltr,
child: SizedBox.shrink(),
);
}
}

Работа с App Group и UserDefaults на iOS​

Для iOS SDK предоставляет методы для установки App Group и записи значений в UserDefaults.

import 'dart:io';

import 'package:altcraft_sdk/altcraft_sdk.dart';

void configureIosAppGroup() {
if (!Platform.isIOS) return;

const String appGroup = 'group.altcraft.flutter.example';

AltcraftSDK.setAppGroup(appGroup);
AltcraftSDK.setUserDefaultsValue(
appGroup,
'altcraft_jwt',
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtYXRjaGluZyI6ImVtYWlsIn0.signature',
);
}

Метод setUserDefaultsValue() также доступен на Android, где значение сохраняется в SharedPreferences.


Запрос разрешения на уведомления​

Для Android используйте requestNotificationPermission():

import 'package:altcraft_sdk/altcraft_sdk.dart';

Future<bool> requestAndroidNotificationPermission() {
return AltcraftSDK.requestNotificationPermission();
}

Метод возвращает true, если разрешение предоставлено, и false, если пользователь отказал.

Последнее обновление 6 июл. 2026 г.
Предыдущая страница
Быстрый старт
Следующая страница
Функционал SDK
  • Предварительные условия
  • Подготовка приложения
    • Передача JWT-токена в SDK (опционально)
    • Подготовка к работе с push-провайдерами
  • Инициализация SDK
    • Параметры инициализации
    • Выполнение инициализации
  • Работа с App Group и UserDefaults на iOS
  • Запрос разрешения на уведомления
© 2015 - 2026 Altcraft. Все права защищены.