Миграция с OneSignal
Эта статья описывает перенос push-подписок с сервиса OneSignal на платформу Altcraft.
VAPID keys и Application Server keys — это одно и то же.
Шаг 1. Получение VAPID-ключей из OneSignal
Пропустите этот шаг, если вы переносите подписки, настроенные для браузера Safari.
Запросите VAPID-ключи у технической поддержки OneSignal. Нужны приватный и публичный ключи: private key, public key.
Шаг 2. Импорт VAPID-ключей в Firebase
Пропустите этот шаг, если вы переносите подписки, настроенные для браузера Safari.
Откройте настройки проекта в Firebase Console и перейдите на вкладку Cloud Messaging. В разделе Web Configuration нажмите import an existing key pair. | ![]() |
В появившемся окне введите Public key и Private key от OneSignal. | ![]() |
Шаг 3. Настройка ресурса в платформе Altcraft
Настройте ресурс для Web Push-уведомлений. Подробнее в статье Настройка ресурса и сайта.
Настройка ресурса отличается для разных браузеров. Убедитесь, что провайдеры настроены правильно.
Шаг 4. Экспорт подписок из OneSignal
Для экспорта подписок используйте API OneSignal. Отправьте POST-запрос через Curl — в ответ вы получите URL для скачивания сжатого CSV-файла (.csv.gz).
Создание файла может занять несколько минут в зависимости от количества пользователей.
Проверить готовность файла можно отправкой GET-запроса с параметром csv_file_url. Если файл ещё не готов — вернётся ошибка 403.
Пример запроса:
curl -X POST \
-H "Authorization: Basic YOUR_REST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"extra_fields": ["web_auth", "web_p256"],
"last_active_since": "1469392779",
"segment_name": "Active Users"
}' \
"https://onesignal.com/api/v1/players/csv_export?app_id=YOUR_APP_ID"
В запросе нужно указать REST_API_KEY и APP_ID. Эти данные доступны в OneSignal: Settings — Keys & IDs.
Откройте Settings и перейдите на вкладку Keys & IDs. | ![]() |
Параметры тела запроса:
| Поле | Значение |
|---|---|
extra_fields | Дополнительные поля. Обязательно укажите web_auth и web_p256. Доступные: location, country, rooted, notification_types, ip, external_user_id, web_auth, web_p256 |
last_active_since | Экспортировать устройства с last_active больше указанной временной метки (timestamp) |
segment_name | Экспортировать устройства из указанного сегмента. Подробнее о сегментах в документации OneSignal |
Подробнее об экспорте подписок из OneSignal: CSV Export API.
Шаг 5. Подготовка CSV-файла
Пропустите этот шаг, если вы переносите подписки, настроенные для браузера Safari.
Передайте CSV-файл с подписками для обработки:
- On-premises — передайте файл администратору платформы
- Облачная версия — передайте файл в службу поддержки Altcraft по адресу support@altcraft.com
Администратор (или служба поддержки) пр иведёт данные к формату, совместимому с импортом в платформу. Подробнее в статье документации для администраторов.
После обработки вы получите готовый к импорту CSV-файл.
Шаг 6. Импорт профилей с подписками
Создайте или выберите подходящую базу данных и в выпадающем списке нажмите Импорт профилей клиентов. | ![]() |
Выберите способ импорта — Файл. Загрузите CSV-файл с подписками. | ![]() |
Нажмите Режим поиска подписки и выберите Поиск по пуш подписке. | ![]() |
Если в CSV-файле есть данные для сопоставления существующих пользователей (например, email, phone), выберите соответствующий режим поиска профиля.
Нажмите Добавить подписку и настройте параметры:
| ![]() |
Для создания подписки необходимо название поля, где хранится ID подписки. В обработанном CSV-файле это поле называется firebase_push_token.
Настройте соответствие колонок:
| ![]() |
Список идентификаторов Web-провайдеров
В поле Provider CSV-файла укажите один из следующих идентификаторов:
| Провайдер | Идентификатор |
|---|---|
| Mozilla Firefox | mozilla |
| Safari | safari |
| Firefox Firebase | firefox-firebase |
| Chrome Firebase | chrome-firebase |
| Opera Firebase | opera-firebase |
| Yandex Firebase | yandex-firebase |
| Samsung Firebase | samsung-firebase |
| IOS APNs | ios-apns |
| IOS Huawei Mobile Services | ios-huawei |
В поле Пропустить строк укажите значение 1, если в файле есть заголовки.
Нажмите Импортировать в правом верхнем углу экрана. После завершения импорта откройте базу данных и вкладку Подписки — там отобразятся новые подписки профилей на push-уведомления. | ![]() |








