Skip to main content

Button

Button is an AI-powered mobile experience platform that optimizes traffic and drives growth for mobile apps, providing intelligent deep linking, attribution tracking, and user acquisition solutions to help businesses maximize their mobile marketing ROI.

Button icon

Power end-to-end data operations for your Button API with Nexla. Our bi-directional Button connector is purpose-built for Button, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Button or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Button workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Button credential, you need to obtain authentication credentials from your Button account. Button uses Basic Authentication with a username and password combination to authenticate API requests.

To use Button with Nexla, you need:

  • Access to your Button account
  • A Button account with appropriate permissions to access the audiences, transactions, and orders you want to work with
  • Your Button username and password for Basic Authentication

For detailed information about Button authentication and credential setup, refer to the Button API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
UsernameYesYesBasic auth username
PasswordYesYesBasic auth password

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Button

ButtonCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Enter your Button username in the Username field. This is the username associated with your Button account that will be used for Basic Authentication.

  3. Enter your Button password in the Password field. This is the password associated with your Button account that will be used together with the username for Basic Authentication.

    Keep your authentication credentials secure and do not share them publicly. The credentials provide access to your Button account and should be treated as sensitive information. Basic Authentication credentials are sent in the Authorization header for all API requests to the Button API.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Button connector tile, then select the credential that will be used to connect to the Button instance, and click Next; or, create a new Button credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Button endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Audiences

This endpoint enumerates and retrieves metadata for all the audiences you own in your Button account. Use this endpoint when you need to access audience information for analysis, reporting, or to identify audiences for use with other endpoints.

  • This endpoint automatically retrieves all audiences from your Button account. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses GET requests to https://api.usebutton.com/v1/audiences. The endpoint URL is automatically constructed based on the Button API base URL.
  • The endpoint uses URL-based pagination, automatically fetching additional pages as needed using the next URL from the response metadata. When a response includes a meta.next field, Nexla automatically uses that URL to fetch the next page of results.
  • The endpoint will return all audiences in your account. The response data is extracted from the objects array in the API response ($.objects[*]), with each audience record processed individually.

This endpoint supports pagination through the next URL mechanism. When a response includes a meta.next field, Nexla automatically uses that URL to fetch the next page of results. The endpoint uses URL-based pagination (iteration.type: paging.next.url) through the meta.next field in the response. The response data path is $.objects[*], which extracts all items from the objects array in the API response. For detailed information about retrieving audiences, see the Button API documentation.

List Transactions

This endpoint retrieves a list of transactions within all billing accounts in your Button account. Use this endpoint when you need to access transaction information for reporting, analytics, or revenue tracking.

  • Enter the start time for filtering transactions in the Start field. This should be an RFC 3339 formatted timestamp (e.g., 2015-11-18T00:00:00Z). The endpoint will filter transactions created at or after this time.

  • Enter the end time for filtering transactions in the End field. This should be an RFC 3339 formatted timestamp (e.g., 2015-11-18T00:00:00Z). The endpoint will filter transactions created before this time.

  • The endpoint uses GET requests to https://api.usebutton.com/v1/affiliation/transactions?start='{start}'&end='{end}' where {start} is the start time and {end} is the end time. The endpoint URL is automatically constructed based on the Button API base URL and the provided time parameters.
  • The endpoint uses URL-based pagination, automatically fetching additional pages as needed using the next URL from the response metadata. When a response includes a meta.next field, Nexla automatically uses that URL to fetch the next page of results.
  • The endpoint will return all transactions within the specified time range. The response data is extracted from the objects array in the API response ($.objects[*]), with each transaction record processed individually.

Both start and end times must be in RFC 3339 format (e.g., 2015-11-18T00:00:00Z). The start time filters transactions created at or after this time, and the end time filters transactions created before this time. This endpoint supports pagination through the next URL mechanism. When a response includes a meta.next field, Nexla automatically uses that URL to fetch the next page of results. The endpoint uses URL-based pagination (iteration.type: paging.next.url) through the meta.next field in the response. The response data path is $.objects[*], which extracts all items from the objects array in the API response. For detailed information about retrieving transactions, see the Button API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Button data sources can also be manually configured to ingest data from any valid Button API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Button API endpoints follow the pattern https://api.usebutton.com/v1/{endpoint_path} and require Basic Authentication, which is handled automatically by your credential configuration. Button API responses typically use an objects array to contain the actual data, so set the path to data to $.objects[*] to extract all items from the response.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Button data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Button destination, and select the Send to Destination option from the menu. Select the Button connector from the list of available destination connectors, then select the credential that will be used to connect to the Button organization, and click Next; or, create a new Button credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Button endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create an Audience

This endpoint creates a new audience in your Button account. Use this endpoint when you need to create audiences from your data sources, such as setting up audience segments for targeting or analysis.

  • The endpoint uses POST requests to https://api.usebutton.com/v1/audiences. The endpoint URL is automatically constructed based on the Button API base URL.
  • The endpoint sends data from your Nexset as the request body in JSON format. Each record in your Nexset will be sent as a JSON object containing the audience data to create. The request body should follow the Button API specification for creating audiences, including required fields and field names.
  • Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to create an audience. If you need to create multiple audiences, you can send multiple records, but each will be processed as a separate request.

The request body must be properly formatted JSON that matches the Button API specification for creating audiences. The endpoint requires Basic Authentication, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is disabled by default, so each record will be sent as a separate request. For detailed information about creating audiences, including required fields, field names, and request formats, see the Button API documentation.

Report an Order

This endpoint reports a purchase to Button by creating an Order record. Use this endpoint when you need to report orders or transactions from your data sources to Button for attribution tracking or revenue reporting.

  • The endpoint uses POST requests to https://api.usebutton.com/v1/order. The endpoint URL is automatically constructed based on the Button API base URL.
  • The endpoint sends data from your Nexset as the request body in JSON format. Each record in your Nexset will be sent as a JSON object containing the order data to report. The request body should follow the Button API specification for reporting orders, including required fields and field names.
  • Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to report an order. If you need to report multiple orders, you can send multiple records, but each will be processed as a separate request.

The request body must be properly formatted JSON that matches the Button API specification for reporting orders. The endpoint requires Basic Authentication, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is disabled by default, so each record will be sent as a separate request. For detailed information about reporting orders, including required fields, field names, and request formats, see the Button API documentation.

Manual configuration

Button destinations can also be manually configured to send data to any valid Button API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Button API endpoints follow the pattern https://api.usebutton.com/v1/{endpoint_path} and primarily use POST requests with JSON request bodies for data writing operations. Basic Authentication and the Content-Type: application/json header are handled automatically by your credential configuration. Using manual configuration, you can also configure Nexla to automatically send the response received from the Button API after each call to a new Nexla webhook data source.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Button endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Button endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.