.png)
AppsFlyer Integration Guide
Integrate AppsFlyer attribution and marketing data with enterprise systems through REST APIs, Push API callbacks, reporting exports, and Data Locker files.
AppsFlyer integration options at a glance
AppsFlyer provides REST APIs for Pull API reporting, raw data, Master API administration, OneLink management, Audiences, and selected server-to-server workflows. Its Push API supports callback-style delivery for selected attribution and event data, while Data Locker and other reporting exports support high-volume and historical processing. Authentication varies by product and may use API tokens, admin credentials, developer keys, app identifiers, and account permissions. Martini can consume the APIs, receive supported callbacks through a REST API, process exported files, maintain report watermarks, transform data, and write normalized results to databases, warehouses, or business applications.
Common AppsFlyer integration patterns
Common AppsFlyer data objects used in integrations
Authentication and security considerations
Credential types
AppsFlyer authentication varies by API product. Pull API requests generally use API tokens, while other APIs and server-to-server workflows may use admin credentials, API tokens, developer keys, app identifiers, and account or product permissions.
Protecting credentials
Store AppsFlyer tokens, admin keys, and developer keys in Martini secrets rather than workflow source or request payloads. Separate credentials by environment and restrict access according to the integration's operational role.
Protecting callbacks
Receive Push API callbacks through a protected Martini REST API. Apply authentication, network controls, request validation, and idempotency checks, and configure AppsFlyer-specific callback signing where supported by the selected product.
Privacy controls
Mobile attribution data may contain device, advertising, user, and campaign identifiers. Minimize logging, apply retention controls, and design for missing identifiers or reduced attribution precision caused by consent, ATT, SKAdNetwork, and other mobile privacy restrictions.
Operational considerations for AppsFlyer integrations
Quotas and pagination
AppsFlyer quotas and rate limits vary by API product, endpoint, account, and subscription. Implement throttling, backoff for HTTP 429 responses, pagination, row-limit handling, and partitioned date windows.
Watermarks and reconciliation
Persist cursors, report identifiers, Data Locker partitions, and date-range watermarks. Reprocess a configurable lookback period because attribution and event data can be corrected or enriched after initial delivery.
Idempotency
Push callbacks may be retried or delivered more than once. Use deterministic keys based on AppsFlyer identifiers and relevant application, event, timestamp, device, user, and attribution dimensions.
Schema and time zones
Report columns and nested structures can vary by report type. Preserve source data where appropriate, validate required fields, version mappings, and define an explicit reporting time zone using half-open incremental intervals.
Testing and monitoring
Test API permissions, callback authentication, pagination, delayed attribution, duplicate delivery, empty reports, file partitions, and downstream failures. Monitor workflow logs, processing status, retry queues, and reconciliation results.
Why use Martini instead of scripts or point-to-point integrations?
Orchestrate multiple AppsFlyer mechanisms
AppsFlyer integrations commonly combine REST APIs, selected callbacks, scheduled reporting, and Data Locker exports. Martini coordinates these paths in workflows rather than forcing each mechanism into a separate script.
Keep mappings and rules maintainable
Martini provides structured mapping, transformation, validation, routing, and reusable integration logic for Apps, Installs, In-app events, Campaigns, Media sources, and OneLinks.
Design for reliable operations
Persistent watermarks, idempotency, retries, reconciliation, logging, and controlled error handling help address rate limits, delayed attribution, duplicate callbacks, schema changes, and high data volumes.
Expose controlled APIs
Martini can expose normalized APIs for downstream applications or controlled OneLink administration while keeping AppsFlyer credentials, provider-specific behavior, and business rules behind a governed integration boundary.