publ betaReference (MCP guide)
Open publ console

publ Reference

messenger_gift_products_apply

Create, edit, reorder, show/hide or remove gift products in the Messenger app (pApp D00003). Create needs imageUploadTaskId and CREATE_GIFT_PRODUCT; a new image needs REPLACE_GIFT_PRODUCT_IMAGE; removal needs DELETE_GIFT_PRODUCT or DELETE_GIFT_PRODUCTS. Names 1–20; KRW from 300 in steps of 100, USD from 0.30 in steps of 0.10. Write; removal cannot be undone. 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
settings Yes one of: edit, reorder, remove, visibility, remove-many (by action) or one of: create, edit (by action)
settings.productId Yes When settings is alternative 1 and settings.action is edit: integer; greater than 0
settings.name No When settings is alternative 1 and settings.action is edit: string; min length 1; max length 20
settings.type No When settings is alternative 1 and settings.action is edit: IMG_ONLY, IMG_AND_CUSTOM_MSG
settings.price No When settings is alternative 1 and settings.action is edit: object
settings.price.currency No When settings is alternative 1 and settings.action is edit: 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.
settings.price.amount Yes When settings is alternative 1 and settings.action is edit: string; pattern ^(?:0|[1-9]\d*)(?:\.\d{1,2})?$
settings.productIds Yes When settings is alternative 1 and settings.action is reorder: array; items: integer; greater than 0; min items 1; max items 200
settings.productId Yes When settings is alternative 1 and settings.action is remove: integer; greater than 0
settings.confirmation Yes When settings is alternative 1 and settings.action is remove: DELETE_GIFT_PRODUCT
settings.productIds Yes When settings is alternative 1 and settings.action is visibility: array; items: integer; greater than 0; min items 1; max items 200
settings.isPublic Yes When settings is alternative 1 and settings.action is visibility: boolean
settings.productIds Yes When settings is alternative 1 and settings.action is remove-many: array; items: integer; greater than 0; min items 1; max items 200
settings.confirmation Yes When settings is alternative 1 and settings.action is remove-many: DELETE_GIFT_PRODUCTS
settings.imageUploadTaskId Yes When settings is alternative 2 and settings.action is create: string; pattern ^[A-Za-z0-9_-]{8,80}$
settings.name Yes When settings is alternative 2 and settings.action is create: string; min length 1; max length 20
settings.type No When settings is alternative 2 and settings.action is create: IMG_ONLY, IMG_AND_CUSTOM_MSG; default IMG_ONLY
settings.price Yes When settings is alternative 2 and settings.action is create: object
settings.price.currency No When settings is alternative 2 and settings.action is create: 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.
settings.price.amount Yes When settings is alternative 2 and settings.action is create: string; pattern ^(?:0|[1-9]\d*)(?:\.\d{1,2})?$
settings.confirmation Yes When settings is alternative 2 and settings.action is create: CREATE_GIFT_PRODUCT
settings.productId Yes When settings is alternative 2 and settings.action is edit: integer; greater than 0
settings.imageUploadTaskId Yes When settings is alternative 2 and settings.action is edit: string; pattern ^[A-Za-z0-9_-]{8,80}$
settings.name No When settings is alternative 2 and settings.action is edit: string; min length 1; max length 20
settings.type No When settings is alternative 2 and settings.action is edit: IMG_ONLY, IMG_AND_CUSTOM_MSG
settings.price No When settings is alternative 2 and settings.action is edit: object
settings.price.currency No When settings is alternative 2 and settings.action is edit: 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.
settings.price.amount Yes When settings is alternative 2 and settings.action is edit: string; pattern ^(?:0|[1-9]\d*)(?:\.\d{1,2})?$
settings.confirmation Yes When settings is alternative 2 and settings.action is edit: REPLACE_GIFT_PRODUCT_IMAGE
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.