Migration from OneSignal
This article describes transferring push subscriptions from OneSignal to the Altcraft Platform.
VAPID keys and Application Server keys are the same thing.
Step 1. Obtaining VAPID Keys from OneSignal
Skip this step if you are transferring subscriptions configured for the Safari browser.
Request VAPID keys from OneSignal technical support. Both private and public keys are needed: private key, public key.
Step 2. Importing VAPID Keys into Firebase
Skip this step if you are transferring subscriptions configured for the Safari browser.
Open the project settings in Firebase Console and go to the Cloud Messaging tab. In the Web Configuration section, click import an existing key pair. | ![]() |
In the window that appears, enter the Public key and Private key from OneSignal. | ![]() |
Step 3. Setting Up the Resource in the Altcraft Platform
Set up the resource for Web Push notifications. For more details, see the article Resource and Website Setup.
Resource setup differs for different browsers. Make sure the providers are configured correctly.
Step 4. Exporting Subscriptions from OneSignal
To export subscriptions, use the OneSignal API. Send a POST request via Curl — in response, you will receive a URL for downloading a compressed CSV file (.csv.gz).
File creation may take several minutes depending on the number of users.
You can check if the file is ready by sending a GET request with the csv_file_url parameter. If the file is not yet ready, a 403 error will be returned.
Example request:
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"
In the request, you need to specify REST_API_KEY and APP_ID. This data is available in OneSignal: Settings — Keys & IDs.
Open Settings and go to the Keys & IDs tab. | ![]() |
Request body parameters:
| Field | Value |
|---|---|
extra_fields | Additional fields. Be sure to specify web_auth and web_p256. Available: location, country, rooted, notification_types, ip, external_user_id, web_auth, web_p256 |
last_active_since | Export devices with last_active greater than the specified timestamp |
segment_name | Export devices from the specified segment. For more details about segments, see the OneSignal documentation |
For more details on exporting subscriptions from OneSignal: CSV Export API.
Step 5. Preparing the CSV File
Skip this step if you are transferring subscriptions configured for the Safari browser.
Transfer the CSV file with subscriptions for processing:
- On-Premise — transfer the file to the platform administrator
- Cloud version — transfer the file to Altcraft support at support@altcraft.com
The administrator (or support team) will convert the data to a format compatible with import into the platform. For more details, see the administrator documentation article.
After processing, you will receive a CSV file ready for import.
Step 6. Importing Profiles with Subscriptions
Create or select a suitable database and in the drop-down list, click Import Customer Profiles. | ![]() |
Select the import method — File. Upload the CSV file with subscriptions. | ![]() |
Click Subscription Search Mode and select Search by Push Subscription. | ![]() |
If the CSV file contains data for matching existing users (e.g., email, phone), select the corresponding profile search mode.
Click Add Subscription and configure the parameters:
| ![]() |
To create a subscription, you need the name of the field where the subscription ID is stored. In the processed CSV file, this field is called firebase_push_token.
Configure column mapping:
| ![]() |
List of Web Provider Identifiers
In the Provider field of the CSV file, specify one of the following identifiers:
| Provider | Identifier |
|---|---|
| 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 |
In the Skip Lines field, enter 1 if the file contains headers.
Click Import in the upper right corner of the screen. After the import is complete, open the database and the Subscriptions tab — the new profile subscriptions for push notifications will be displayed there. | ![]() |








