Posting requirements Smart Fill: structured context fields
When createSuggestionOfPostingRequirements runs, the request body’s context.structured object still embeds a copy of campaignForm with orderedProductsSpecs, orderedProductsSpecsLabels, and orderedProducts cleared so other channels’ data is not sent to the Smart Fill task.
For the active contract or product (the ID passed as the first argument, with the fourth argument indicating a product when applicable), the structured context now also includes:
| Field | Description |
|---|---|
alreadySelectedFieldValues | Snapshot of campaignForm.orderedProductsSpecs[contractOrProductId] — values the user already entered for that channel. |
alreadySelectedFieldLabels | Snapshot of campaignForm.orderedProductsSpecsLabels[contractOrProductId] — human-readable labels for those fields where available. |
isProduct | true when the Smart Fill call targets a product (fourth argument true), otherwise false for a contract. |
When you omit customContextObject, context.structured is the cleared campaign-form copy plus these three keys. If you pass customContextObject, it is sent unchanged as context.structured (no merge, no alreadySelected* / isProduct injection); include any extra fields yourself if the backend needs them.
For end-user behaviour and triggering Smart Fill from code, see Using Smart Fill on channel posting requirements.