시작하기
앱의 인증 토큰과 사용자 ID를 준비해 Context API를 호출하고, 응답과 서비스 동작을 확인하는 방법을 안내합니다.
에어브릿지 CUE를 연동하려면 앱의 인증 토큰과 사용자 ID가 필요합니다. 마케터는 개인화할 화면이나 메시지와 적용 조건을 정하고, 개발자는 Context API의 응답에 따라 앱이나 CRM이 작동하도록 구현합니다.
시작하기 전에 필요한 준비물
대상 앱의 CUE 사용 설정과 예측 데이터 준비 여부는 에어브릿지 담당자에게 확인해 주세요.
인증 토큰 준비하기
Context API 인증에는 대상 앱의 앱 SDK 토큰이나 웹 SDK 토큰을 사용합니다. 토큰은 에어브릿지 대시보드 [설정]>[토큰 관리]에서 확인할 수 있습니다. 자세한 내용은 토큰 관리 가이드에서 안내합니다.
준비한 토큰은 서버나 CRM의 안전한 설정에 보관해야 합니다.
사용자 ID 선택하기
Context API 요청에는 아래 3개 필드 중 반드시 하나만 넣어야 합니다. 토큰과 같은 앱에서 수집한 ID를 사용해야 하며, 값은 비어 있지 않은 문자열이어야 합니다.
| 요청 필드 | ID의 종류 |
|---|---|
userId | 에어브릿지가 부여한 사용자 식별자인 Airbridge Generated UUID입니다. |
brazeDeviceId | 브레이즈 SDK의 Device ID입니다. |
airbridgeExternalUserId | 서비스에서 에어브릿지에 전송한 외부 사용자 ID입니다. |
brazeDeviceId는 브레이즈의 external_id와 다른 값입니다.
사용자 ID 연결하기
Context API에서 사용할 ID는 조회할 사용자와 연결되어 있어야 합니다. ID를 SDK에서 조회하는 방법과 브레이즈 및 외부 사용자 ID를 연결하는 방법은 이벤트 연동 확인하기의 사용자 ID 연결에서 안내합니다.
테스트 요청 준비하기
ID 연결을 마친 테스트 사용자와 기기를 정하고, 앱을 실행해 요청에 사용할 ID를 준비해 주세요. 첫 요청 보내기의 요청 본문에 선택한 ID 필드 하나를 넣고 대상 앱의 토큰으로 요청하면 됩니다. 결과는 응답 확인하기에서 확인할 수 있습니다.
활용 목적 정하기
API 응답을 서비스에 적용하려면 개인화할 화면이나 메시지, 적용할 조건과 기본 동작을 정해야 합니다.
- 개인화할 화면이나 메시지를 정해 주세요. 예를 들어 구매 가능성이 높은 사용자에게 첫 화면에서 안내할 상품을 다르게 정할 수 있습니다.
- 해당 조건에 사용할 예측값을 정해 주세요. 구매와 이탈은 서로 다른 사건을 예측하므로 활용 목적에 맞게 선택해야 합니다.
- 조건을 충족하지 않거나 API 응답을 받지 못했을 때 제공할 기본 화면이나 메시지도 정해야 합니다.
첫 요청 보내기
아래는 외부 사용자 ID로 조회하는 요청입니다. abc-123을 대상 앱에서 에어브릿지에 전송한 외부 사용자 ID로 바꿔 주세요. 서버나 CRM에서 요청을 보내 주세요.
서버의 환경 변수 AIRBRIDGE_APP_TOKEN에 준비한 토큰을 설정한 뒤 아래 명령을 실행해 주세요. 응답 헤더와 JSON 본문을 함께 확인할 수 있습니다.
curl --request POST --include \
'https://api.airbridge.io/entry/inference/v1/context' \
--header "Authorization: Bearer ${AIRBRIDGE_APP_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"airbridgeExternalUserId":"abc-123"}'다른 종류의 ID를 사용하려면 Context API의 Payload 예시에서 요청 형식을 확인할 수 있습니다. 요청 본문에는 선택한 ID 필드 하나만 넣어야 합니다.
응답과 서비스 동작 확인하기
첫 요청을 보낸 뒤에는 API 응답이 올바른지 확인하고, 서비스가 응답에 따라 의도대로 작동하는지 테스트해야 합니다.
응답 확인하기
요청이 정상적으로 처리되면 HTTP 200 응답을 받습니다. 아래는 예시입니다.
HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: 01915c8e-7a12-7d3f-8b2a-1f2e3d4c5b6a
{
"requestId": "01915c8e-7a12-7d3f-8b2a-1f2e3d4c5b6a",
"appId": 1234,
"user": {
"id": "abc-123",
"type": "airbridge_external_user_id"
},
"context": {
"lastTouchpoint": {
"channel": "media_A",
"campaign": "moving_service",
"adGroup": "moving_quote",
"adCreative": "moving_guide_video",
"term": null
}
},
"predictions": {
"d3_purchase": {
"probability": 0.723,
"tier": "high"
},
"d3_churn": {
"probability": 0.812,
"tier": "high"
}
}
}- 예측 데이터가 준비된 테스트 사용자로 HTTP
200응답을 받았는지 확인해 주세요. -
appId가 대상 앱을 가리키고,user.id와user.type이 요청에 사용한 ID의 값과 종류를 나타내는지 확인해 주세요. -
context.lastTouchpoint에서 필요한 광고 기여 정보를 읽고, 테스트에서 예상한 기여 결과와 일치하는지 확인해 주세요. -
predictions.d3_purchase와predictions.d3_churn의probability와tier를 의도한 조건에 적용하는지 확인해 주세요.
서비스 동작 확인하기
- 조건을 충족할 때와 충족하지 않을 때 각각 정한 화면이나 메시지가 나타나는지 확인해 주세요.
- 설치 유입 정보를 사용하는 규칙에서
context.lastTouchpoint객체나 필요한 필드가null일 때 미리 정한 기본 규칙을 적용하는지 확인해 주세요. - API 오류, 시간 초과, 읽을 수 없는 응답이 발생했을 때도 기본 동작을 유지하는지 확인해 주세요.
예측 결과를 받지 못하면 기본 동작을 유지해야 합니다. 오류를 확률 0이나 등급 low로 바꾸면 정보가 없는 상태를 낮은 가능성으로 잘못 해석하게 됩니다. 상황별 처리 방법은 오류 처리에서 확인할 수 있습니다.
연동 문제 문의하기
에어브릿지 담당자에게 문의할 때는 호출 시각, requestId, HTTP 상태 코드와 error.code를 함께 전달해 주세요. requestId를 받지 못했다면 호출한 URL과 메서드, 발생 상황을 알려 주세요.
첫 연동을 확인한 다음에는 이벤트 연동 확인하기에서 기존 이벤트의 수집 상태를 점검하고, Context 활용하기에서 개인화 규칙과 기본 동작을 구체화할 수 있습니다.