OAuth 2.0 ใช้ได้เฉพาะในเอ็นพอยต์ /adsเมื่อรวมการรายงานคำสั่งซื้อผ่าน API คุณจะต้องรวมเอ็นพอยต์ /orders เข้ากับการตรวจสอบสิทธิ์ขั้นพื้นฐานและคีย์ API ลับของคุณ
รหัสลูกค้าและความลับของลูกค้า
client_id และ client_secret จะได้รับจากผู้จัดการบัญชีด้านเทคนิคของคุณ Client Secret เป็นความลับและไม่ควรแชร์
การขอโทเค็นการเข้าถึง
ในการรับโทเค็นการเข้าถึง คุณต้องส่งคำขอที่มี client_id และ client_secret ในการทำเช่นนั้น ผู้ค้าปลีกต้องส่งคำขอ POST ไปยังเอ็นพอยต์ Epsilon Retail Media Authorization Server:
https://$BASE_URL/v1/oauth2/token
/oauth2/tokenให้เฉพาะโทเค็นที่เกี่ยวข้องเท่านั้น คุณจะใช้โทเค็นเหล่านี้เพื่อโต้ตอบกับเอ็นพอยต์การรวมต่างๆ
คำขอของคุณจะต้องมีการอนุญาตขั้นพื้นฐานที่ส่งผ่านส่วนหัวของคำขอการอนุญาตที่มีการเข้ารหัส client_id และ client_secret base64 ของผู้ค้าปลีก:
Authorization: "Basic" + base64encode(client_id + ":" + client_secret)
คุณจะต้องเพิ่มพารามิเตอร์ต่อไปนี้โดยใช้รูปแบบ application/x-www-form-urlencoded ในเนื้อหาคำขอ HTTP:
grant_type=client_credentials
คําขอจะมีลักษณะดังต่อไปนี้:
POST https://$BASE_URL/v1/oauth2/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <base64 encoded id+key>
grant_type=client_credentialsการรับโทเค็นการเข้าถึงของคุณ
การตอบสนองจะมีข้อมูลต่อไปนี้
access_token: โทเค็นการเข้าถึงที่จะใช้เมื่อเรียก Epsilon Retail Media APIexpires_in: จำนวนเงินเป็นวินาทีจนกว่าโทเค็นการเข้าถึงจะหมดอายุtoken_type: ประเภทโทเค็นที่ส่งกลับ จะเป็นผู้ถือเสมอในกรณีนี้
ตัวอย่างคําตอบอยู่ด้านล่าง
{
"access_token": "xxxxx.yyyyy.zzzzz",
"expires_in": 3600,
"token_type": "Bearer"
}การใช้โทเค็น
การเรียกกับเอ็นพอยต์ Epsilon Retail Media API สามารถทำได้โดยเพียงแค่เพิ่มโทเค็นการเข้าถึงที่สร้างไปยังส่วนหัวการอนุญาตตามคำขอ
Authorization: “Bearer “ <access_token>
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Bearer <access_token>
{
"customerId": "wertg5432a",
"sessionId": "ec9-4e07-881d-3e9",
"placement": "category",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"productFilters": [
["category:Cupboard/Snacks"]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}ข้อผิดพลาดในคำขอ
ไคลเอ็นต์ไม่ถูกต้อง
หาก client_id หรือ client_secret ที่ส่งในคำขอไม่ถูกต้อง คุณจะได้รับคำตอบดังนี้:
{
"error": "invalid_client"
}ตรวจสอบให้แน่ใจว่าคุณใช้ข้อมูลประจำตัวที่ถูกต้อง ตรวจสอบ client_id และ client_secret ของคุณอีกครั้ง และตรวจสอบให้แน่ใจว่าคุณใช้การให้สิทธิ์พื้นฐานอย่างถูกต้องเมื่อเรียกเอ็นพอยต์ /token
Invalid Request
ข้อผิดพลาดคำขอที่ไม่ถูกต้องจะถูกส่งกลับจากเซิร์ฟเวอร์การอนุมัติ ถ้าคำขอไม่มีพารามิเตอร์ที่จำเป็น มีค่าพารามิเตอร์ที่ไม่ถูกต้อง มีพารามิเตอร์มากกว่าหนึ่งครั้ง หรือมีรูปแบบไม่ถูกต้อง
{
"error": "invalid_request"
}ตรวจสอบให้แน่ใจว่า:
- มี
grant_type=client_credentialsไปยังเนื้อหาคําขอเท่านั้น - ตั้งค่า
Content-Typeที่ถูกต้องให้กับส่วนหัวของคำขอ

