การขอโฆษณาผลิตภัณฑ์

การขอโฆษณา

คำขอโฆษณาผลิตภัณฑ์ทั้งหมดต้องมี placementและ catalogIdและ maxNumberOfAds คุณต้องการที่จะแสดงต่อลูกค้า นอกจากนี้คำขอของคุณยังควรมี customerId และ sessionId.

ตำแหน่งการค้นหา

ตำแหน่งการค้นหามักจะง่ายที่สุดที่จะขอ พวกเขาต้องการ searchTerm ระบุไว้ในคำขอ ดังตัวอย่างด้านล่าง:

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "options": {
   						 "filterMode": "AndOr"
 							 },
    "maxNumberOfAds": 3    
}

ตำแหน่งหมวดหมู่

ต้องระบุตําแหน่งประเภท productFilters ระบุไว้ในคำขอ ตัวอย่างด้านล่างแสดงตำแหน่งที่คุณจะส่งตัวกรองหมวดหมู่:

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "category",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "productFilters": [
     	 ["category:Cupboard/Snacks"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "maxNumberOfAds": 3
}

เนื่องจากมีการอ่านหมวดหมู่เพิ่มเติม คุณต้องอัปเดตการเรียก API ของคุณตามลำดับ

📘

แนวทางปฏิบัติที่ดีที่สุด

แนวทางปฏิบัติที่ดีที่สุดคือส่งหมวดหมู่ระดับต่ำสุดไปยังคำขอโฆษณาของคุณไปยัง CitrusAd ขณะที่ลูกค้าเรียกดูหมวดหมู่ที่ลึกกว่า

แทนที่จะระบุคำขอแบบลูกโซ่ที่ระดับ 3 ของ L1 + L2 + L3 คุณจะระบุเฉพาะหมวดหมู่ L3 เท่านั้น

ตําแหน่งหมวดหมู่การขายพ่วง

ตำแหน่งหมวดหมู่ขายพ่วงมีคำขอที่คล้ายกันมากกับตำแหน่งหมวดหมู่ คุณจะต้องระบุหมวดหมู่ที่แน่นอนที่คุณต้องการขอโฆษณา โดยทั่วไปจะเป็นหน้าที่คุณกำลังดูอยู่ ระบุหมวดหมู่ใน productFilters ของคำขอ ตัวอย่างด้านล่างแสดงตำแหน่งที่คุณจะส่งตัวกรองหมวดหมู่:

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "category-cross-sell",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "productFilters": [
     	 ["category:Cupboard/Snacks"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "maxNumberOfAds": 3
}

เนื่องจากมีการอ่านหมวดหมู่เพิ่มเติม คุณต้องอัปเดตการเรียก API ของคุณตามลำดับ

📘

การรวมการกำหนดเป้าหมายตามหมวดหมู่ทั่วไปและการขายต่อเนื่องเข้าด้วยกันใช่หรือไม่

หากคุณต้องการรวมคำขอโฆษณาหมวดหมู่ทั่วไปและแบบขายพ่วงไว้ในตำแหน่งเดียว คุณจะต้องใช้ตรรกะการรวมและการจัดส่งกับลูกค้าของคุณ นี่เป็นความรับผิดชอบของผู้รวมระบบ แม้ว่า CitrusAd ยินดีที่จะให้คำปรึกษา

โดยทั่วไป เราขอแนะนำให้คุณแสดงโฆษณาหมวดหมู่ทั่วไป และโฆษณาขายพ่วงตำแหน่งและหมวดหมู่หลังจากตำแหน่งทั่วไป

ตําแหน่งการทํางานแบบกว้าง

ตำแหน่งกว้างๆ เช่น หน้าแรกหรือหน้าชำระเงิน ไม่จำเป็นต้องมี productFilters ระบุไว้ในคำขอ ตัวกรองใดๆ ที่ผู้ค้าปลีกต้องการระบุ (ตามข้อเสนอ ใหม่ ฯลฯ) สามารถระบุได้ใน productFilters เพื่อให้แน่ใจว่า CitrusAd จะแสดงโฆษณาภายในข้อกําหนดเท่านั้น

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "home",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "productFilters": [
     	 []
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "maxNumberOfAds": 3
}

ขอการปรับปรุง

สำหรับตำแหน่งการค้นหา หมวดหมู่ และการทำงานแบบกว้าง เราขอแนะนำให้คุณพิจารณาการปรับปรุงด้านล่างเพื่อปรับปรุงประสบการณ์ผู้ใช้ของคุณ

แบ่งหน้าคำขอ

เมื่อสร้างโฆษณาผลิตภัณฑ์ คุณจะได้รับ memoryToken ที่สามารถส่งในคำขอที่ตามมาเพื่อยกเว้นโฆษณาที่แสดงก่อนหน้านี้ จากนั้นคุณสามารถส่ง memoryToken ในคำขอโฆษณาที่ตามมา และ CitrusAd จะแยกโฆษณาที่แสดงก่อนหน้านี้สำหรับบริบทเดียวกันออกจากการตอบกลับโฆษณาของเรา

โปรดตรวจสอบ การแบ่งหน้า ก่อนนำไปใช้

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0=",
    "options": {
                         "filterMode": "AndOr"
                             },
    "maxNumberOfAds": 3    
}

การค้นหาที่กรองแล้ว

หากลูกค้าของคุณกรองการค้นหา คุณสามารถขยายบริบทของคุณเพื่อระบุ productFiltersด้านล่างคือตัวอย่างที่ลูกค้ากรองตามหมวดหมู่ "ตู้" และข้อจำกัดด้านอาหาร "ปราศจากกลูเตน" หลักการเดียวกันนี้สามารถนำไปใช้กับหมวดหมู่หรือตำแหน่งการทำงานแบบกว้างใดก็ได้

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "productFilters": [
     	 ["category:Cupboard"],["dietary:Gluten-free"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "maxNumberOfAds": 3
}

การกรองตามตําแหน่งที่ตั้ง

หากคุณกำลังซิงค์ตัวกรองตำแหน่งที่ตั้งในแค็ตตาล็อกของคุณ คุณสามารถขยายบริบทของคุณเพื่อระบุตำแหน่งที่ตั้งร้านค้าของลูกค้าใน productFilters:

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "productFilters": [
     	 ["category:Cupboard"],["dietary:Gluten-free"],["location:Westenbury"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "maxNumberOfAds": 3
}

การตอบสนองต่อโฆษณาผลิตภัณฑ์

การตอบกลับโฆษณาผลิตภัณฑ์ทั้งหมดเป็นไปตามรูปแบบ JSON เดียวกัน โฆษณาผลิตภัณฑ์จะถูกส่งกลับใน ads อาร์เรย์ เหมือนตัวอย่างด้านล่าง:

{
    "ads": [
        {
            "id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
            "gtin": "7733636",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400902957Z",
            "position": 1
        },
        {
            "id": "display_NzsHqP0_iQedlo9VnrO2vqkwi_k3NzMzNjI4",
            "gtin": "7733628",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400908257Z",
            "position": 2
        },
        {
            "id": "display_xNeShqidaMuEqiJ0zNdt-Gzygjs3NzE0MTA3",
            "gtin": "7714107",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400912929Z",
            "position": 3
        },
        {
            "id": "display_3rGiryPskhQusmsf43nghbQwnqo3NzMzNjU3",
            "gtin": "7733657",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400917769Z",
            "position": 4
        }
    ],
    "banners": [],
    "products": [],
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}

AD_ID id ฟิลด์ id คือ ID โฆษณาของคุณที่ใช้ในรายงานการแสดงผลและการคลิก AD_ID position ฟิลด์กำหนดตำแหน่งในเพย์โหลด CitrusAd โปรดดูข้อมูลอ้างอิงสำหรับข้อมูลเพิ่มเติมเกี่ยวกับแต่ละสตริง

📘

คุณควรอ่านและรักษา position เพื่อให้แน่ใจว่าตำแหน่งผู้เช่าคงที่ปรากฏอย่างถูกต้อง

รหัสผู้ขายในตลาด

หากเป็นผู้ขายในตลาด คุณอาจเห็นเพิ่มเติม sellerId ต่อโฆษณาในการตอบกลับ ซึ่งจะปรากฏขึ้นก็ต่อเมื่อทีมที่เป็นเจ้าของแคมเปญที่กำลังให้บริการมีรหัสผู้ขายที่กำหนดค่าไว้ใน UI ตัวอย่างด้านล่างแสดงโฆษณาหนึ่งรายการที่มี sellerId อีกรายการไม่มี

{
    "ads": [
        {
            "id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
            "gtin": "7733636",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400902957Z",
            "position": 1
        },
        {
            "id": "display_NzsHqP0_iQedlo9VnrO2vqkwi_k3NzMzNjI4",
            "gtin": "7733628",
            "sellerId": "2834-ascre-2wcr4",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400908257Z",
            "position": 2
        }
    ],
    "banners": [],
    "products": [],
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}

📘

หากคุณไม่แน่ใจเกี่ยวกับสตริงในส่วนนี้ โปรดไปที่หน้า การอ้างอิงโฆษณาผลิตภัณฑ์