연동 이벤트
Server-to-server 연동이 구현된 End-Point는 이벤트 데이터가 없이 전송된 데이터는 처리하지 않습니다. 즉, SESSION 데이터 그룹만 보내지는, 요청에는 아무런 응답을 하지 않으며, 반드시 logEvent, 또는 logPurchase 와 관련된 데이터가 포함되어 있어야 합니다.

1. 인앱 이벤트 데이터 전송 ( DOT.logEvent 에 대한 처리 )

SDK 사용 시에 DOT.logEvent API 함수를 사용하여 처리되던 내용을 Server-to-server에서 처리하는 방법은 다음과 같습니다. 다만, SDK에서 제공하는 API에 의한 요청과 차이점은 사용자의 단말기에서 관리되던 데이터가 Server-to-server에서는 제공될 수 없는 정보들이 있기 때문에 데이터의 처리 항목에 일부 차이가 있습니다. 아래의 2가지 예시는 "회원가입" 에 처리를 기준으로 작성된 예시이며, 다른 이벤트에 대해서도 같은 형태를 가지고 사용이 가능합니다.
S2S
Native
1
curl -X POST https://trk.analytics.wisetracker.co.kr/s2s/v1/s2sDataRcv.do
2
-H "Content-Type:application/json"
3
-H "authToken:<SERVICE-ACCESS-TOKEN>"
4
-d '{
5
"SESSION":{
6
"vtTz": <unix time>, // required, current time
7
"_wtno": <SERVICE_NUMBER>, // required
8
"advtId":"12D9505B-A48E-410A-8787-75BF39DA82F5", // required, ADID/IDFA
9
"dSource":"SDK", // required, "SDK" or "Website" ( Reserved text )
10
"plat":"IOS" // required, "AOS" or "IOS" ( Reserved text )
11
},
12
"GOAL":{
13
"vtTz":1620693013341, // required, current time
14
"signupTp":"email",
15
"event":"w_signup_complete"
16
}
17
}'
Copied!
1
Map<String, Object> eventMap = new HashMap<>();
2
eventMap.put("event", "w_signup_complete");
3
eventMap.put("signupTp", "email");
4
DOT.logEvent(eventMap);
Copied!

2. 구매 이벤트 데이터 전송 ( DOT.logPurchase 에 대한 처리 )

SDK 사용 시에 DOT.logPurchase API 함수를 사용하여 처리되던 내용을 Server-to-server에서 처리하는 방법은 다음과 같습니다. 아래의 2가지 예시는 "구매" 이벤트 처리를 기준으로 작성된 예시입니다.
S2S (1개 상품)
S2S (1개 이상의 상품)
Native
1
curl -X POST https://trk.analytics.wisetracker.co.kr/s2s/v1/s2sDataRcv.do
2
-H "Content-Type:application/json"
3
-H "authToken:<SERVICE-ACCESS-TOKEN>"
4
-d '{
5
"SESSION":{
6
"vtTz": <unix time>, // required, current time
7
"_wtno": <SERVICE_NUMBER>, // required
8
"advtId":"12D9505B-A48E-410A-8787-75BF39DA82F5", // required, ADID/IDFA
9
"dSource":"SDK", // required, "SDK" or "Website" ( Reserved text )
10
"plat":"IOS" // required, "AOS" or "IOS" ( Reserved text )
11
},
12
"REVENUE":{
13
"vtTz":1620702642346, // required, current time
14
"event":"w_purchase", // required, "w_purchase" or "w_first_purchase" ( Reserved text )
15
"transaction_id":"TR2020111129424", // required, Order Number
16
"currency":"KRW", // required, Currency
17
"product":{ // required
18
"product_id":"2007291158",
19
"product_name":"Leia Pleats Bag Black",
20
"quantity":2,
21
"revenue":566200
22
}
23
}
24
}'
Copied!
1
curl -X POST https://trk.analytics.wisetracker.co.kr/s2s/v1/s2sDataRcv.do
2
-H "Content-Type:application/json"
3
-H "authToken:<SERVICE-ACCESS-TOKEN>"
4
-d '{
5
"SESSION":{
6
"vtTz": <unix time>, // required, current time
7
"_wtno": <SERVICE_NUMBER>, // required
8
"advtId":"12D9505B-A48E-410A-8787-75BF39DA82F5", // required, ADID/IDFA
9
"dSource":"SDK", // required, "SDK" or "Website" ( Reserved text )
10
"plat":"IOS" // required, "AOS" or "IOS" ( Reserved text )
11
},
12
"REVENUE":{
13
"vtTz":1620702642346, // required, current time
14
"event":"w_purchase", // required, "w_purchase" or "w_first_purchase" ( Reserved text )
15
"transaction_id":"TR2020111129424", // required, Order Number
16
"currency":"KRW", // required, Currency
17
"product":[{ // required
18
"product_id":"2007291158",
19
"product_name":"Leia Pleats Bag Black",
20
"quantity":2,
21
"revenue":566200
22
},{
23
"product_id":"2007291159",
24
"product_name":"Leia Pleats Bag Blue",
25
"quantity":1,
26
"revenue":1566200
27
}]
28
}
29
}'
Copied!
1
// 1개 상품 구매시
2
Map<String, Object> purchaseMap = new HashMap<>();
3
purchaseMap.put("transaction_id", "TR2020111129420");
4
purchaseMap.put("currency", "KRW");
5
Map<String, Object> productMap = new HashMap<>();
6
productMap.put("product_id", "2007291158");
7
productMap.put("product_name", "Leia Pleats Bag Black");
8
productMap.put("quantity", 2);
9
productMap.put("revenue", 283100);
10
purchaseMap.put("product", productMap);
11
DOT.logPurchase(purchaseMap);
12
13
// 1개 이상 상품 구매시
14
Map<String, Object> purchaseMap = new HashMap<>();
15
purchaseMap.put("transaction_id", "TR2020111129421");
16
purchaseMap.put("currency", "KRW");
17
Map<String, Object> productMap1 = new HashMap<>();
18
productMap1.put("product_id", "2007291158");
19
productMap1.put("product_name", "Leia Pleats Bag Black");
20
productMap1.put("quantity", 2);
21
productMap1.put("revenue", 566200);
22
Map<String, Object> productMap2 = new HashMap<>();
23
productMap2.put("product_id", "2005268849");
24
productMap2.put("product_name", "페이 스몰 숄더백 (FAYE)");
25
productMap2.put("quantity", 1);
26
productMap2.put("revenue", 1323000);
27
List<Map<String, Object>> productList = new ArrayList<>();
28
productList.add(productMap1);
29
productList.add(productMap2);
30
purchaseMap.put("product", productList);
31
DOT.logPurchase(purchaseMap);
Copied!