Skip to main content
Prerequisite You need administrative access to your Growi dashboard to configure webhook URLs.

Overview

When a brand has a Webhook URL configured, Growi will send an HTTP POST request with a JSON body whenever a campaign’s creator affiliation changes state, or when a creator’s affiliate code is updated.

Configuration

In the Organization settings, configure:
  • Webhook URL: A single HTTPS URL that will receive webhook POST requests.

Event Types

The webhook payload includes an event field to differentiate between actions:
If the system encounters an unknown status, it will fall back to campaign_affiliate.<status>.

Delivery Details

Non-2xx responses are treated as failures and will be retried.

Payload Format

The request body is a single JSON object with the following fields:
string
required
Event name that indicates what happened.
string
required
ISO-8601 timestamp of the underlying record update.
integer
required
Internal ID of the campaign-creator association record.
integer
required
Campaign ID.
integer
required
Organization ID.
integer
required
Creator’s user ID.
string
required
The raw status value on the record (e.g., active, removed, left).
string
Campaign name, when available.
string
Brand slug, when available.
string
Creator email, when available.
string
Creator name, when available.
string
Default affiliate tag for the creator on this campaign, when available. For code_updated, this is the new code.
string
Present on campaign_affiliate.code_updated only. The affiliate code before the change.
Optional fields are omitted when values are not present. For status events, occurred_at uses the campaign affiliation record’s updated_at timestamp. For code_updated, it is the time the code change was committed.

Example Payloads

Creator Added to Campaign

Creator Removed from Campaign

Creator Affiliate Code Updated

Troubleshooting

Ensure your webhook URL is correctly configured in Organization settings and is publicly accessible over HTTPS.
Implement idempotency in your webhook handler using the campaign_affiliate_id, event, and occurred_at fields to deduplicate events.
Your endpoint must respond within 10 seconds. Consider processing webhooks asynchronously and returning a 200 response immediately.
Changing a creator’s affiliate code does not remove them from the campaign. Status webhooks (activated / removed / left) only fire on status changes. Code changes emit campaign_affiliate.code_updated instead. If you received a removed event around a code change, check whether the creator was also removed (or a delayed status webhook from an earlier action was delivered).