S2S 事件

    可以通过 Server-to-server(S2S)方式发送应用内事件和网页内事件。


    应用内事件发送

    POST

    https://api.airbridge.io/events/v1/apps/{app_name}/mobile-app/9360

    以 S2S 方式发送应用内事件。

    速率限制:每分钟最多 1,000 次请求。

    用户标识符类型

    注意

    用户标识符对确保归因、回传、群组分析的一致性至关重要,因此建议发送所有可收集的标识符。

    1. Device ID

    Device ID(设备 ID)可通过 SDK 的 数据获取(Data Fetching)方式进行收集。

    各 OS 可收集的标识符如下:

    Request Body Key

    数据获取字段名

    OS

    device.deviceUUID

    Airbridge Device ID

    所有 OS

    device.gaid

    GAID (Google Advertising ID)

    Android

    device.appSetID

    App Set ID

    Android

    device.ifa

    IDFA

    iOS、iPadOS

    device.ifv

    IDFV

    iOS、iPadOS

    2. User ID (user.externalUserID)

    在无法通过 SDK 进行数据获取的情况下,可以仅发送 User ID(用户 ID),而不发送 Device ID。

    此时,Airbridge 将使用内部数据库中与该 User ID 关联的 Device ID 处理事件。

    若该 User ID 无对应的 Device ID,可能导致报告的准确性下降。

    事件示例

    Request

    Headers

    Accept-Language
    string

    可以指定用于 API 请求和结果返回的语言。遵守 ISO-639-1 格式。

    Content-Type
    string

    表示资源的媒体类型。默认使用 application/json

    Authorization
    string

    用于 API 请求的键值。参阅 密钥的生成及查询方法 来获取该键值。

    X-Forwarded-For
    Requiredstring

    可以使用 X-Forwarded-For 请求头发送用户 IP。如果没有 X-Forwarded-For,用户的行为中将记录请求 S2S API 的服务器 IP,而不是用户的 IP(客户端请求 IP)。

    接收 ipv4(123.123.123.123)、ipv6(2001:e60:87e3:81d4:cd57:5d52:ee2e:ff8d) 格式。

    Path Params

    app_name
    Requiredstring

    Airbridge App 名称(App Name)。

    Body Params

    eventUUID
    string

    事件唯一 ID。

    uuid4 格式的 event uuid 作为事件的唯一 ID 来用于去重。如果未提供,将由事件 API 自动生成。

    eventTimestamp
    number

    事件发生时间。

    毫秒(Millisecond)为单位的 Unix 时间戳(13 位)。

    如果 eventTimestamp 距离事件发送时刻超过 24 小时,则服务器将不会处理该事件。 确保使用距离发送时刻不超过 24 小时的时间戳。

    user
    object

    可存储用户相关信息。

    device
    object

    存储设备相关信息。

    app
    Requiredobject

    存储用户的 App 相关信息。

    eventData
    Requiredobject

    用于定义要发送至 Airbridge 的事件的对象。

    Request
    123456
    curl -X POST 'https://api.airbridge.io/events/v1/apps/{app_name}/mobile-app/9360' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}' \
      -H 'X-Forwarded-For: 2001:e60:87e3:81d4:cd57:5d52:ee2e:ff8d' \
      -d '{"eventUUID":"9b4b3e4e-2162-4ae6-8986-91ee84644262","user":{"externalUserID":"19443","externalUserEmail":"example@ab180.co","externalUserPhone":"821012341234"},"device":{"deviceUUID":"2dfca632-86f3-4d22-9746-cdfe7985c471","gaid":"2dfca632-86f3-4d22-9746-cdfe7985c471","ifa":"542177F1-5C23-438B-8088-82D34C94F6D7","appSetID":"7c4681ef-97c6-4ebd-9c04-e22f584b3746","ifv":"37EEC3E0-BF15-412E-ADBA-7D2E82E7A75F","deviceModel":"LG-H542","appTrackingTransparency":0,"deviceIdentifier":"iPhone11,2","manufacturer":"Samsung","osName":"Android","osVersion":"5.0.2","locale":"ko-KR","timezone":"Asia/Seoul","orientation":"portrait","screen":{"width":123},"location":{"latitude":120.103,"speed":"12"},"network":{"carrier":"SKTelecom","cellular":true,"wifi":true}},"app":{"packageName":"com.ab180.co","version":"1.2.3"},"eventData":{"goal":{"category":"airbridge.ecommerce.product.addedToCart","semanticAttributes":{"currency":"KRW","action":"shoes","label":"nike","transactionID":"12939172","inAppPurchased":true,"products":[{"currency":"KRW","name":"나이키 커스텀","price":10990}]}}}}'
    Payload
    1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
    {
      "eventUUID": "9b4b3e4e-2162-4ae6-8986-91ee84644262",
      "user": {
        "externalUserID": "19443",
        "externalUserEmail": "example@ab180.co",
        "externalUserPhone": "821012341234"
      },
      "device": {
        "deviceUUID": "2dfca632-86f3-4d22-9746-cdfe7985c471",
        "gaid": "2dfca632-86f3-4d22-9746-cdfe7985c471",
        "ifa": "542177F1-5C23-438B-8088-82D34C94F6D7",
        "appSetID": "7c4681ef-97c6-4ebd-9c04-e22f584b3746",
        "ifv": "37EEC3E0-BF15-412E-ADBA-7D2E82E7A75F",
        "deviceModel": "LG-H542",
        "appTrackingTransparency": 0,
        "deviceIdentifier": "iPhone11,2",
        "manufacturer": "Samsung",
        "osName": "Android",
        "osVersion": "5.0.2",
        "locale": "ko-KR",
        "timezone": "Asia/Seoul",
        "orientation": "portrait",
        "screen": {
          "width": 123
        },
        "location": {
          "latitude": 120.103,
          "speed": "12"
        },
        "network": {
          "carrier": "SKTelecom",
          "cellular": true,
          "wifi": true
        }
      },
      "app": {
        "packageName": "com.ab180.co",
        "version": "1.2.3"
      },
      "eventData": {
        "goal": {
          "category": "airbridge.ecommerce.product.addedToCart",
          "semanticAttributes": {
            "currency": "KRW",
            "action": "shoes",
            "label": "nike",
            "transactionID": "12939172",
            "inAppPurchased": true,
            "products": [
              {
                "currency": "KRW",
                "name": "나이키 커스텀",
                "price": 10990
              }
            ]
          }
        }
      }
    }

    Response

    200SUCCESS

    Response
    1234
    {
      "at": "2020-02-06 16:06:49",
      "data": "Event(9360) is successfully proccessed."
    }

    网页内事件发送

    POST

    https://api.airbridge.io/events/v1/apps/{app_name}/web/9320

    以 S2S 方式发送网页内事件。

    速率限制:每分钟最多 1,000 次请求。

    用户标识符类型

    注意

    用户标识符对确保归因、回传、群组分析的一致性至关重要,因此建议发送所有可收集的标识符。

    Cookie ID 可通过 SDK 的 数据获取(Data Fetching)方式进行收集。

    为了确保精准归因,需与 Cookie ID 一同收集以下数据并发送至 Airbridge 服务器。

    参数

    数据获取字段名

    说明

    eventData.shortID

    Attribution Short ID

    广告系列(Campaign)参数 ID

    eventData.trackingData.channel

    Default Attribution Channel

    广告系列(Campaign)渠道

    eventData.trackingData.params

    Default Attribution Parameters

    广告系列(Campaign)参数

    2. User ID (user.externalUserID)

    在无法通过 SDK 进行数据获取的情况下,可以仅发送 User ID,而不发送 Cookie ID。

    此时,Airbridge 将使用内部数据库中与该 User ID 关联的 Cookie ID 处理事件。

    若该 User ID 无对应的 Cookie ID,可能导致报告的准确性下降。

    Request

    Headers

    Accept-Language
    string

    可以指定用于 API 请求和结果返回的语言。遵守 ISO-639-1 格式。

    Content-Type
    string

    表示资源的媒体类型。默认使用 application/json

    Authorization
    string

    用于 API 请求的键值。参阅 密钥的生成及查询方法 来获取该键值。

    X-Forwarded-For
    Requiredstring

    可以使用 X-Forwarded-For 请求头发送用户 IP。如果没有 X-Forwarded-For,用户的行为中将记录请求 S2S API 的服务器 IP,而不是用户的 IP(客户端请求 IP)。

    接收 ipv4(123.123.123.123)、ipv6(2001:e60:87e3:81d4:cd57:5d52:ee2e:ff8d) 格式。

    Path Params

    app_name
    Requiredstring

    Airbridge App 名称(App Name)。

    Body Params

    eventUUID
    string

    事件唯一 ID。

    uuid4 格式的 event uuid 作为事件的唯一 ID 来用于去重。如果未提供,将由事件 API 自动生成。

    eventTimestamp
    number

    事件发生时间。

    毫秒(Millisecond)为单位的 Unix 时间戳(13 位)。

    如果 eventTimestamp 距离事件发送时刻超过 24 小时,则服务器将不会处理该事件。 确保使用距离发送时刻不超过 24 小时的时间戳。

    user
    object

    可存储用户相关信息。

    browser
    object

    可存储浏览器信息。

    eventData
    Requiredobject

    用于定义要发送至 Airbridge 的事件的对象。

    Request
    123456
    curl -X POST 'https://api.airbridge.io/events/v1/apps/{app_name}/web/9320' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}' \
      -H 'X-Forwarded-For: 2001:e60:87e3:81d4:cd57:5d52:ee2e:ff8d' \
      -d '{"eventUUID":"9b4b3e4e-2162-4ae6-8986-91ee84644262","user":{"externalUserID":"19443","externalUserEmail":"example@ab180.co","externalUserPhone":"821012341234"},"browser":{"clientID":"05609013-bb5a-4594-bbc3-832cb1b87072","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E302"},"eventData":{"shortID":"aef04","trackingData":{"channel":"blog"},"goal":{"category":"airbridge.ecommerce.product.addedToCart","semanticAttributes":{"action":"shoes","label":"nike","query":"나이키","transactionID":"12939172","inAppPurchased":true,"currency":"KRW","products":[{"position":"1","productID":"30372425","name":"나이키 커스텀","price":10990,"quantity":1,"currency":"KRW"}]}}}}'
    Payload
    123456789101112131415161718192021222324252627282930313233343536373839
    {
      "eventUUID": "9b4b3e4e-2162-4ae6-8986-91ee84644262",
      "user": {
        "externalUserID": "19443",
        "externalUserEmail": "example@ab180.co",
        "externalUserPhone": "821012341234"
      },
      "browser": {
        "clientID": "05609013-bb5a-4594-bbc3-832cb1b87072",
        "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E302"
      },
      "eventData": {
        "shortID": "aef04",
        "trackingData": {
          "channel": "blog"
        },
        "goal": {
          "category": "airbridge.ecommerce.product.addedToCart",
          "semanticAttributes": {
            "action": "shoes",
            "label": "nike",
            "query": "나이키",
            "transactionID": "12939172",
            "inAppPurchased": true,
            "currency": "KRW",
            "products": [
              {
                "position": "1",
                "productID": "30372425",
                "name": "나이키 커스텀",
                "price": 10990,
                "quantity": 1,
                "currency": "KRW"
              }
            ]
          }
        }
      }
    }

    Response

    200SUCCESS

    Response
    1234
    {
      "at": "2020-02-06 16:06:49",
      "data": "Event(9320) is successfully proccessed."
    }

    Was this page helpful?

    Have any questions or suggestions?