|
1 | 1 | { |
2 | 2 | "$schema": "https://json-schema.org/draft/2020-12/schema", |
3 | 3 | "title": "AuctionResult", |
4 | | - "description": "Result of an ad auction, returned to the platform with the winning creative", |
| 4 | + "description": "Winning bid and reservation details returned to the AI platform.", |
5 | 5 | "type": "object", |
6 | 6 | "required": [ |
7 | 7 | "auction_id", |
|
11 | 11 | "properties": { |
12 | 12 | "auction_id": { |
13 | 13 | "type": "string", |
14 | | - "description": "Unique identifier for this auction", |
15 | 14 | "example": "auc_981" |
16 | 15 | }, |
17 | 16 | "no_bid": { |
18 | 17 | "type": "boolean", |
19 | | - "description": "Set to true when the auction window closes without any valid bids", |
20 | | - "default": false |
| 18 | + "default": false, |
| 19 | + "description": "Whether this auction ended with no bids" |
21 | 20 | }, |
22 | 21 | "serve_token": { |
23 | 22 | "type": "string", |
24 | | - "description": "Token used to track events for this ad serve", |
25 | 23 | "example": "stk_abcxyz123" |
26 | 24 | }, |
27 | 25 | "winner": { |
28 | 26 | "type": "object", |
29 | | - "description": "Information about the winning bid", |
| 27 | + "description": "Winning bid info", |
30 | 28 | "properties": { |
31 | | - "agent_id": { |
| 29 | + "brand_agent_id": { |
32 | 30 | "type": "string", |
33 | | - "description": "ID of the winning advertiser agent", |
34 | | - "example": "ag_123" |
35 | | - }, |
36 | | - "clearing_price_cpx": { |
37 | | - "type": "string", |
38 | | - "description": "Clearing price for CPX in USD", |
39 | | - "pattern": "^\\d+\\.\\d{2,}$", |
40 | | - "example": "0.042" |
| 31 | + "example": "ba_451" |
41 | 32 | }, |
42 | 33 | "preferred_unit": { |
43 | 34 | "type": "string", |
44 | | - "description": "Charging model for this serve", |
45 | | - "enum": [ |
46 | | - "CPX", |
47 | | - "CPC", |
48 | | - "CPA" |
49 | | - ], |
| 35 | + "enum": ["CPX", "CPC", "CPA"], |
50 | 36 | "example": "CPA" |
| 37 | + }, |
| 38 | + "reserved_amount_cents": { |
| 39 | + "type": "integer", |
| 40 | + "minimum": 0, |
| 41 | + "description": "Amount held at auction time", |
| 42 | + "example": 500 |
51 | 43 | } |
52 | 44 | } |
53 | 45 | }, |
54 | 46 | "render": { |
55 | 47 | "type": "object", |
56 | | - "description": "Creative content to display to the user", |
| 48 | + "description": "Creative payload", |
57 | 49 | "properties": { |
58 | | - "label": { |
59 | | - "type": "string", |
60 | | - "description": "Disclosure label (always '[Ad]')", |
61 | | - "example": "[Ad]" |
62 | | - }, |
63 | | - "title": { |
64 | | - "type": "string", |
65 | | - "description": "Ad title", |
66 | | - "example": "Pipedrive CRM" |
67 | | - }, |
68 | | - "body": { |
69 | | - "type": "string", |
70 | | - "description": "Ad body text", |
71 | | - "example": "Built for founders." |
72 | | - }, |
73 | | - "cta": { |
74 | | - "type": "string", |
75 | | - "description": "Call-to-action text", |
76 | | - "example": "Try for free" |
77 | | - }, |
| 50 | + "label": { "type": "string", "example": "[Ad]" }, |
| 51 | + "title": { "type": "string", "example": "Scale your CRM" }, |
| 52 | + "body": { "type": "string", "example": "Built for founders." }, |
| 53 | + "cta": { "type": "string", "example": "Try for free" }, |
78 | 54 | "url": { |
79 | 55 | "type": "string", |
80 | | - "description": "Click-through URL with tracking", |
81 | 56 | "format": "uri", |
82 | 57 | "example": "https://admesh.click/stk_abcxyz123" |
83 | 58 | } |
84 | 59 | } |
85 | 60 | }, |
86 | 61 | "ttl_ms": { |
87 | 62 | "type": "integer", |
88 | | - "description": "Time-to-live in milliseconds for this auction result", |
89 | 63 | "minimum": 1000, |
90 | 64 | "maximum": 300000, |
91 | 65 | "example": 60000 |
|
95 | 69 | } |
96 | 70 | }, |
97 | 71 | "oneOf": [ |
98 | | - { |
99 | | - "required": ["winner", "render"], |
100 | | - "properties": {} |
101 | | - }, |
| 72 | + { "required": ["winner", "render"] }, |
102 | 73 | { |
103 | 74 | "required": ["no_bid"], |
104 | 75 | "properties": { |
105 | | - "no_bid": { |
106 | | - "const": true |
107 | | - } |
| 76 | + "no_bid": { "const": true } |
108 | 77 | } |
109 | 78 | } |
110 | 79 | ], |
111 | | - "examples": [ |
112 | | - { |
113 | | - "auction_id": "auc_981", |
114 | | - "serve_token": "stk_abcxyz123", |
115 | | - "winner": { |
116 | | - "agent_id": "ag_123", |
117 | | - "clearing_price_cpx": "0.042", |
118 | | - "preferred_unit": "CPA" |
119 | | - }, |
120 | | - "render": { |
121 | | - "label": "[Ad]", |
122 | | - "title": "Pipedrive CRM", |
123 | | - "body": "Built for founders.", |
124 | | - "cta": "Try for free", |
125 | | - "url": "https://admesh.click/stk_abcxyz123" |
126 | | - }, |
127 | | - "ttl_ms": 60000 |
128 | | - }, |
129 | | - { |
130 | | - "auction_id": "auc_982", |
131 | | - "serve_token": "stk_no_bid", |
132 | | - "ttl_ms": 60000, |
133 | | - "no_bid": true |
134 | | - } |
135 | | - ], |
136 | 80 | "$id": "https://aip.org/schemas/auction-result.json" |
137 | 81 | } |
0 commit comments