Batching (for external feeds)

Platform-side batching for plugins
As of now, batching is only available for plugins of type AUDIENCE_SEGMENT_EXTERNAL_FEED
You may need to integrate with external partners that require batched data as input. However mediarithmics platform only provides unit updates to your external feed plugin, one user point at a time (via /user_segment_update route).
This documentation explains you how to use the batching feature provided by the platform.

Create a batching configuration

  1. 1.
    Go to the Computing Console > Plugins
  2. 2.
    Find your plugin, select the version and go to the Batching configuration tab
  3. 3.
    Create the batching configuration
Batching configurations can also be defined using the following API.
Create a Plugin Version Batching Configuration

Implement the batching feature in your external feed plugin


You need to split your plugin logics in two parts :
  1. 1.
    Data formatting / gathering phase (/user_segment_update route implementation)
  2. 2.
    Batch delivery phase (/batch_update route implementation).
The platform will take care of aggregating the data returned by the /user_segment_update route into batches and then call back your plugin route /batch_update with the batches.
It's important to understand that the output of the call on /user_segment_update will be an element of /batch_update input.


You need to use version 0.14+ of the plugin-nodejs-sdk
Rewrite your plugin to extend type BatchedAudienceFeedConnectorBasePlugin<T> (where T is the type of one batched line) provided by the SDK.
It will force your plugin to implement /batch_update route and force /segment_update response type to be BatchedUserSegmentUpdatePluginResponse<T>.
You can use the grouping_key field of the response if your data specifically need to be regrouped by a specific criteria.
For exemple, you may have an external partner that requires having only one identifier type per payload. To do so, you should use the identifier type as grouping_key.
mediarithmics platform won't interpret grouping_key, and will use it as an exact matching.