messenger_room_product_apply
Create or update a paid group room's individual product in the Messenger app (pApp D00003). Requires confirmation SAVE_ROOM_INDIVIDUAL_PRODUCT, name, selling/original price in the channel currency, period, availability and CASH_ONLY or CASH_AND_CP. Write: saves the product, then links it to the room; the product can become purchasable before the link completes. A lost receipt stays pending and is never resent; task_resume only observes, and prepared work needs the identical apply. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once.
Inputs
| Field | Required here | Contract |
|---|---|---|
target |
Yes | object |
target.roomUuid |
Yes | string; pattern ^[A-Za-z0-9_-]{1,200}$ |
change |
Yes | object |
change.action |
Yes | create, update |
change.confirmation |
Yes | SAVE_ROOM_INDIVIDUAL_PRODUCT |
change.product |
Yes | object |
change.product.name |
Yes | string; min length 2; max length 40 |
change.product.price |
Yes | object |
change.product.price.currency |
No | KRW, USD; Omit to use the verified channel base currency already read by the host. An explicit currency only asserts that it matches; it never changes the currency or supplies an unknown default. |
change.product.price.amount |
Yes | string; max length 16; pattern ^(?:0|[1-9]\d*)(?:\.\d{1,2})?$ |
change.product.originalPrice |
Yes | object or null |
change.product.originalPrice.currency |
No | KRW, USD; Omit to use the verified channel base currency already read by the host. An explicit currency only asserts that it matches; it never changes the currency or supplies an unknown default. |
change.product.originalPrice.amount |
Yes | string; max length 16; pattern ^(?:0|[1-9]\d*)(?:\.\d{1,2})?$ |
change.product.availableDays |
Yes | 1 or 3 or 7 or 15 or 30 or 60 or 90 or 180 or 365 or null |
change.product.purchaseAvailable |
Yes | boolean |
change.product.purchaseMethods |
Yes | CASH_ONLY, CASH_AND_CP |
confirmToken |
No | string; pattern ^ct[a-f\d]{32}$; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute. |