Amberflo Destination

Destination Info
Partner Owned
  • This integration is partner owned. Please reach out to the partner's support for any issues.

Amberflo provides cloud based usage metering, pricing, and billing. Meter any infrastructure, platform, application, custom resource, event, or feature. Amberflo provides an end-to-end usage platform engine that serves as the system of records and single source of truth. It’s platform is built on top of the metering service, Amberflo Metering Cloud. It is built on cloud platform design principles of durability, availability, scalability, and cost-effectiveness with specialized logic built-in to ensure accuracy of the metering system - that is that each record is processed once, and once only, and that duplicate records sent are automatically de-duped. Amberflo Billing Cloud is a decoupled (yet integrated) application that is built on the Metering Cloud. It allows users to create, model, and manage usage-based pricing plans with full flexibility over modern sales artifacts such as prepaid credits, rewards, promotions, and custom currency creation.

This destination is maintained by Amberflo. For any issues with the destination, contact the Amberflo Support team.

Getting Started

  1. From the Destinations catalog page in the Segment App, click Add Destination.
  2. Search for “Amberflo” in the Destinations Catalog, and select the “Amberflo” destination.
  3. Choose which Source should send data to the “Amberflo” destination.
  4. Go to the Amberflo dashboard, find and copy the “API key”.
  5. Enter the “API Key” in the “Amberflo” destination settings in Segment.

Supported methods

Amberflo supports the following methods, as specified in the Segment Spec.

Page

Send Page calls the Amberflo Ingestion API to ingest as a meter with value 1. For example:

analytics.page({
  userId: "some_user_id",
  name: "Home",
  properties: {
    "title": "Welcome | Initech",
    "keywords": "paper,comedy",
    "search": "schrute farms",
    "referrer": "https://google.com",
    "path": "/home",
    "browser": "Chrome",
    "url": "https://segment.com"
  }
})

Segment sends Page calls to Amberflo as a page meter.

curl --request POST \
     --url https://app.amberflo.io/ingest \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'x-api-key: YOUR_API_KEY' \
     --data '
{
     "uniqueId": "messageId",
     "customerId": "some_user_id",
     "meterApiName": "page",
     "meterValue": 1.0,
     "meterTimeInMillis": 1619445706909,
        "title": "Welcome _ Initech",
        "keywords": "paper,comedy",
        "search": "schrute farms",
        "referrer": "https:__google.com",
        "path": "_home",
        "browser": "Chrome",
        "url": "https:__segment.com"
     }
}
'

Screen

Send Screen calls the Amberflo Ingestion API to ingest as a meter with value 1. For example:

analytics.screen({
  userId: "some_user_id",
  name: "Home",
  properties: {
    "title": "Welcome | Initech"
  }
})

Segment sends Screen calls to Amberlfo as a screen meter.

curl --request POST \
     --url https://app.amberflo.io/ingest \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'x-api-key: YOUR_API_KEY' \
     --data '
{
     "uniqueId": "messageId",
     "customerId": "some_user_id",
     "meterApiName": "screen",
     "meterValue": 1.0,
     "meterTimeInMillis": 1619445706909,
     "dimensions": {
       "name": "Home",
       "title": "Welcome _ Initech"
     }
}
'

Identify

Send Identify calls the Amberflo Customers API to create a customer in Amberflo or update if the customer already exists. For example:

analytics.identify({
  userId: "some_user_id",
  traits: {
    "name": "John Doe",
    "email": "john.doe@email.com",
    "plan": "premium",
    "logins": 5,
    "phone": "650-769-3240",
    "username": "marakasina",
    "website": "example.com",
    "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/scottkclark/128.jpg"
  }
})

Segment sends Identify calls to Amberflo as a customer record.

curl --request PUT \
     --url https://app.amberflo.io/customers \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'x-api-key: YOUR_API_KEY' \
     --data '
{
     "customerId": "some_user_id",
     "customerName": "John Doe",
     "customerEmail": "john.doe@email.com",
     "traits": {
        "plan": "premium",
        "logins": 5,
        "phone": "650-769-3240",
        "username": "marakasina",
        "website": "example.com",
        "avatar": "https:__s3.amazonaws.com_uifaces_faces_twitter_scottkclark_128.jpg"
    }
}
'

Track

Send Track calls Amberflo Ingestion API to ingest as a meter with value of properties.value or 1 if value is not set. For example:

analytics.track({
  userId: "some_user_id",
  event: "ApiCalls",
  properties: {
    "value" : 2.0
    "region": "us-west-2"
  }
})

Segment sends Track calls to Amberflo as a meter ingestion record with meterApiName=track.event.

curl --request POST \
     --url https://app.amberflo.io/ingest \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'x-api-key: YOUR_API_KEY' \
     --data '
{
     "uniqueId": "messageId",
     "customerId": "some_user_id",
     "meterApiName": "ApiCalls",
     "meterValue": 2.0,
     "meterTimeInMillis": 1619445706909,
     "dimensions": {
        "region": "us-west-2"
     }
}
'

Engage

You can send computed traits and audiences generated using Engage to this destination as a user property. To learn more about Engage, schedule a demo.

For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it’s been more than 30 days since their last order), Engage sets that value to false.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

Real-time to batch destination sync frequency

Real-time audience syncs to Amberflo may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

Setting Description
API Key
(required)
string. Enter your Amberflo.io API Key

This page was last modified: 02 Jan 2024



Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
or
Create free account