Skip to main content

OneSignal Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow, DB-CDC, Spark ETL, or Replication data flow that sends data to a OneSignal location.
onesignal_api.png

OneSignal

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the OneSignal connector tile from the list of available connectors. Then, select the credential that will be used to connect to the OneSignal instance, and click Next; or, create a new OneSignal credential for use in this flow.

  3. In Nexla, OneSignal destinations can be created using pre-built endpoint templates, which expedite destination setup for common OneSignal API endpoints. Each template is designed specifically for the corresponding OneSignal API endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    OneSignal destinations can also be configured manually, allowing you to send data to OneSignal API endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common OneSignal API endpoints. Each template is designed specifically for the corresponding OneSignal API endpoint, making destination setup easy and efficient.

Endpoint Settings

  • Select the endpoint to which this destination will send data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your destination for this endpoint.

    Send Notification

    This endpoint sends push notifications to users. Use this endpoint when you need to send push notifications, trigger notification campaigns, or send targeted messages to user segments.

    • This endpoint accepts JSON data in the request body. The data should include notification content, target audience (segments, users, or all), and notification settings. Each record will be sent as a separate API request, as batch mode is not supported for this endpoint.
    • Ensure your data includes the required fields for OneSignal notifications, including app_id, contents, and target audience information (e.g., included_segments, include_player_ids, or filters).

    This endpoint uses POST method for sending notifications. The endpoint accepts JSON data in the request body and does not support batch mode, so each record will be sent as a separate API request. For more information about the Send Notification endpoint, refer to the OneSignal API Documentation.

    Create Segment

    This endpoint creates a new user segment. Use this endpoint when you need to create user segments, organize users by criteria, or set up targeted messaging groups.

    • This endpoint accepts JSON data in the request body. The data should include segment name and filter criteria. Each record will be sent as a separate API request.
    • Ensure your data includes the required fields for OneSignal segments, including name and filters array with segment criteria.

    This endpoint uses POST method for creating segments. The endpoint accepts JSON data in the request body and does not support batch mode. For more information about the Create Segment endpoint, refer to the OneSignal API Documentation.

    Update User

    This endpoint updates user properties and tags. Use this endpoint when you need to update user information, modify user tags, or sync user data with OneSignal.

    • This endpoint accepts JSON data in the request body. The data should include user properties and tags to update. The user ID must be included in the URL path or request body.
    • Ensure your data includes the user identifier and the properties or tags you want to update.

    This endpoint uses PATCH method for updating users. The endpoint accepts JSON data in the request body and does not support batch mode. For more information about the Update User endpoint, refer to the OneSignal API Documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can send a sample of the data that will be sent according to the current settings. This allows users to verify that the destination is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be sent & the response will be displayed in the Endpoint Test Result panel on the right.

  • If the test is not successful or the response is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the response to ensure that the destination is configured correctly.

Configure Manually

OneSignal destinations can be manually configured to send data to any valid OneSignal API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex OneSignal destinations, such as destinations that send data to multiple endpoints or destinations that require custom authentication headers or request parameters.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the OneSignal API from the Method pulldown menu. The most common methods are:

    • POST: For creating new resources (notifications, segments, etc.)
    • PUT: For updating existing resources
    • PATCH: For partial updates to existing resources

API Endpoint URL

  1. Enter the URL of the OneSignal API endpoint to which this destination will send data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. OneSignal API endpoints typically follow the pattern https://api.onesignal.com/{resource}, where {resource} is the specific endpoint path.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. OneSignal API endpoints require the App ID parameter in query strings or path parameters, and the REST API Key in the Authorization header.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers are often required for API versioning, content type specifications, or custom authentication requirements.

    You do not need to include any headers already present in the credentials. Common headers like Authorization, Content-Type, and Accept are typically handled automatically by Nexla based on your credential configuration. For OneSignal, the Authorization header with Bearer token is automatically included from your credential, and Content-Type is typically set to application/json for ingestion endpoints.

Request Body Template

Optional
  • If the API endpoint requires a specific request body format, you can customize how Nexla formats the data before sending it to the OneSignal API by entering a request body template in the Request Body Template field. The template should use {message.json} to include the entire record as JSON, or you can specify individual fields using dot notation (e.g., {message.field_name}).

    For most OneSignal ingestion endpoints, the default request body template {message.json} will work correctly, sending the entire record as JSON. You may need to customize the template if the API requires a specific structure or if you need to transform the data before sending. OneSignal endpoints typically require specific JSON structures depending on the resource being created or updated.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can send a sample of the data that will be sent according to the current configuration. This allows users to verify that the destination is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be sent & the response will be displayed in the Endpoint Test Result panel on the right.

  • If the test is not successful or the response is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the response to ensure that the destination is configured correctly.

Save & Activate the Destination

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new OneSignal destination. Nexla will now begin sending data to the configured endpoint according to your data flow schedule.