Server-to-Server Events

    Server-to-Server 방식으로 인앱/인웹 이벤트를 전송할 수 있습니다.


    인앱 이벤트 전송하기

    POST

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

    Server-to-Server 방식으로 인앱 이벤트를 전송합니다.

    유저 식별자 유형

    유저 식별자는 일관적인 기여, 포스트백, 코호트 집계 등에 필수적이며 이에 따라 수집 가능한 모든 식별자를 전송하는 것이 권장됩니다.

    1. Device ID

    Device ID는 SDK를 통한 데이터 패칭(Data Fetching)으로 수집할 수 있습니다.
    운영체제별로 수집 가능한 식별자는 다음과 같습니다.

    Request Body Key

    데이터 페칭 필드명

    운영체제

    device.deviceUUID

    Airbridge Device ID

    All

    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를 통한 데이터 패칭이 불가능한 상황에서는, Device ID 없이 User 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
    필수string

    사용자의 IP를 X-Forwarded-For 헤더로 보낼 수 있습니다. X-Forwarded-For가 없는 경우 사용자의 IP(클라이언트 요청 IP)가 아닌 Server To Server API를 요청한 서버의 IP로 사용자 행동이 기록됩니다.

    ipv4(123.123.123.123), ipv6(2001:e60:87e3:81d4:cd57:5d52:ee2e:ff8d) 형태의 값을 받습니다.

    Path Params

    app_name
    필수string

    에어브릿지 앱 이름(App Name)

    Body Params

    eventUUID
    string

    고유 이벤트 ID.

    uuid4 포맷의 event uuid는 이벤트 고유 ID로 Deduplication에 사용되며, 넣지 않으면 event api에서 자동 생성하게 됩니다.

    eventTimestamp
    number

    이벤트 발생 시간.

    Millisecond 단위의 Unix Timestamp입니다. (Unixtime 기준 13자리)

    eventTimestamp가 이벤트 전송 시점 기준으로 24시간을 지나면 서버에서 처리하지 않습니다. 전송 시점 기준 24시간 이내의 timestamp를 사용해주세요.

    user
    object

    유저에 관한 정보를 담을 수 있습니다.

    device
    object

    디바이스 정보를 담습니다.

    app
    필수object

    사용자의 앱 정보를 담습니다.

    eventData
    필수object

    에어브릿지에 전송할 이벤트를 정의하는 객체입니다.

    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","action":"shoes","label":"nike","semanticAttributes":{"productListID":"list-id-1","cartID":"cart-id-1","transactionID":"12939172","inAppPurchased":true,"currency":"KRW","products":[{"position":"1","productID":"30372425","name":"나이키 커스텀"}]}}}}'
    Payload
    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
    {
      "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",
          "action": "shoes",
          "label": "nike",
          "semanticAttributes": {
            "productListID": "list-id-1",
            "cartID": "cart-id-1",
            "transactionID": "12939172",
            "inAppPurchased": true,
            "currency": "KRW",
            "products": [
              {
                "position": "1",
                "productID": "30372425",
                "name": "나이키 커스텀"
              }
            ]
          }
        }
      }
    }

    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

    Server-to-Server 방식으로 인웹 이벤트를 전송합니다.

    유저 식별자 유형

    유저 식별자는 일관적인 기여, 포스트백, 코호트 집계 등에 필수적이며 이에 따라 수집 가능한 모든 식별자를 전송하는 것이 권장됩니다.

    Cookie ID는 SDK를 통한 데이터 패칭(Data Fetching)으로 수집할 수 있습니다.
    이 때 Cookie ID와 함께 아래 데이터를 수집하여 Airbridge 서버로 전송해야 정확히 기여처리 될 수 있습니다.

    파라미터

    데이터 패칭 필드명

    설명

    eventData.shortID

    Attribution Short ID

    캠페인 파라미터 ID

    eventData.trackingData.channel

    Default Attribution Channel

    캠페인 채널

    eventData.trackingData.params

    Default Attribution Parameters

    캠페인 파라미터

    2. User ID(user.externalUserID)

    데이터 패칭이 불가능한 상황에서는, Cookie ID 없이 User 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
    필수string

    사용자의 IP를 X-Forwarded-For 헤더로 보낼 수 있습니다. X-Forwarded-For가 없는 경우 사용자의 IP(클라이언트 요청 IP)가 아닌 Server To Server API를 요청한 서버의 IP로 사용자 행동이 기록됩니다.

    ipv4(123.123.123.123), ipv6(2001:e60:87e3:81d4:cd57:5d52:ee2e:ff8d) 형태의 값을 받습니다.

    Path Params

    app_name
    필수string

    에어브릿지 앱 이름(App Name)

    Body Params

    eventUUID
    string

    고유 이벤트 ID.

    uuid4 포맷의 event uuid는 이벤트 고유 ID로 Deduplication에 사용되며, 넣지 않으면 event api에서 자동 생성하게 됩니다.

    eventTimestamp
    number

    이벤트 발생 시간.

    Millisecond 단위의 Unix Timestamp입니다. (Unixtime 기준 13자리)

    eventTimestamp가 이벤트 전송 시점 기준으로 24시간을 지나면 서버에서 처리하지 않습니다. 전송 시점 기준 24시간 이내의 timestamp를 사용해주세요.

    user
    object

    유저에 관한 정보를 담을 수 있습니다.

    browser
    object

    브라우저 정보를 담을 수 있습니다.

    eventData
    필수object

    에어브릿지에 전송할 이벤트를 정의하는 객체입니다.

    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","action":"shoes","label":"nike","semanticAttributes":{"query":"나이키","productListID":"list-id-1","cartID":"cart-id-1","transactionID":"12939172","inAppPurchased":true,"currency":"KRW","products":[{"position":"1","productID":"30372425","name":"나이키 커스텀","price":1000,"quantity":1,"currency":"KRW"}]}}}}'
    Payload
    1234567891011121314151617181920212223242526272829303132333435363738394041
    {
      "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",
          "action": "shoes",
          "label": "nike",
          "semanticAttributes": {
            "query": "나이키",
            "productListID": "list-id-1",
            "cartID": "cart-id-1",
            "transactionID": "12939172",
            "inAppPurchased": true,
            "currency": "KRW",
            "products": [
              {
                "position": "1",
                "productID": "30372425",
                "name": "나이키 커스텀",
                "price": 1000,
                "quantity": 1,
                "currency": "KRW"
              }
            ]
          }
        }
      }
    }

    Response

    200SUCCESS

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

    도움이 되었나요?

    더 필요한 내용이 있나요?