Button

Datafly Signal reports completed orders to the Button Order API server-to-server, with the Button attribution token so Button can credit the publisher that referred the customer.

Prerequisites

Get your API key

Your Button API key is in the Button Dashboard under Settings. Signal sends it as the HTTP Basic username with an empty password.

Keep the attribution token

In apps, read the token from the Button Merchant Library (ButtonMerchant.attributionToken) and send it as the btn_ref property on the purchase. Signal does not yet capture Button’s landing parameter on the web.

Configure in Signal

Configuration Fields

FieldRequiredDescription
application_idNoNot used by the Order API (the API key authenticates it). Leave blank.
api_keyYesYour Button API key (Button Dashboard > Settings). Sent as the HTTP Basic username with an empty password.

Management UI Setup

  1. Go to Integrations > Add Integration > Button.
  2. Choose a preset: Default (default), Retail (ecommerce), Travel (travel).
  3. Fill in the fields above and click Save.

Request format

A purchase:

POST https://api.usebutton.com/v1/order
{"btn_ref":"srctok-abc123","currency":"GBP","customer":{"email_sha256":"86e0b9e56c17cc4d12387e1949b85053fbe73bc3ce5a1188713a9d300cc6133d","id":"crm-user-9","is_new":true},"line_items":[{"description":"Parka","identifier":"SKU_1","quantity":2,"sku":"SKU_1"},{"description":"Gloves","identifier":"SKU_2","quantity":1,"sku":"SKU_2"}],"order_id":"ORD-1001","purchase_date":"2025-09-22T00:13:20Z","total":25999}

Amounts are integers in the currency’s minor units (259.99 GBP is 25999).

Event Mapping

Signal eventVendor eventPresets
purchaseorderDefault, Retail, Travel
booking_completedorderTravel

Identity

btn_ref (from the btn_ref property, then the btn_ref click or collected ID) attributes the order. Button asks brands to report every order, so orders without a token are sent too. The customer’s email is sent as customer.email_sha256 (SHA-256 of the trimmed, lower-cased address); no plaintext personal data is sent.

The Order API has no consent field. Assign a consent category to the integration in Signal if Button delivery should depend on consent.

Troubleshooting

ProblemSolution
Totals too highButton’s total should exclude tax and delivery; Signal sends the purchase value as it arrives. Send a net value.
RefundsRefunds and cancellations are not sent to Button yet.

Blueprint

The Button blueprint version is 0.3.0. It was last reviewed against the vendor’s documentation on 2026-09-23.

See also