Webhooks
Visual UGC Webhooks enable callbacks to be made to your HTTP(S) endpoints when specific events have been triggered (often referred to as notifications).
For each of the Webhook types you can enter the URL of your endpoints, and Visual UGC will make HTTP POST requests with the relevant data to the endpoints when the events occur. The URLs entered can be different, or the same URL can be configured for all of them and the payload of the POST can be used to determine the Webhook.
To start receiving notifications, simply enter the relevant URLs in the Stackla API > Webhooks area of your Stack's Admin Portal. To stop receiving notifications, simply remove the URL from the Webhook's field.
Webhook notifications are generally in near-realtime, however during times of very high load, there may be a delay of several seconds before the notification arrives.
Webhooks may originate from a variety of servers and IP addresses, by default. If you require to whitelist IP address ranges in order to receive webhooks, please contact our support team or your Customer Success Manager to organise a custom solution.
Visual UGC Webhooks also support appending a 'Secret Key' to the Notification if required.
Notifications will arrive as HTTP POST requests, with Content-Type set to "application/json". This may mean a slightly different strategy for grabbing POST data for languages such as PHP, which will not be able to read directly from $_POST.
Visual UGC supports the following types of Webhooks:
A callback will be made via HTTP POST when an individual Tile has been claimed.
Data
Field | Description |
---|---|
_id | Visual UGC ID of the Tile |
sta_feed_id | External ID provided by the Visual UGC Feed or API posted Tile |
guid | Alias of sta_feed_id |
network | Name of network user belongs to (e.g. "twitter", "instagram", etc.) |
network_id | ID of original content on the network |
network_user_id | ID of user on the network |
network_user_name | Display name of user on the network |
network_user | Handle of user on the network |
action | "TILE_CLAIM" |
votes | Number of votes currently on the Tile |
claimed_data.claimed_at | Timestamp of the claim action |
claimed_data.claimed_by | Claiming method: "hashtag" (by response) |
claimed_data.message | If claim is actioned by response, this will be the response message |
claimed_data.custom_data.[key] | Value of the custom field key |
Sample
{"_id":"5e27c2c529a27762badd642b","action":"TILE_CLAIM","sta_feed_id":"690549978851fd782e1ebc2c413f974d","guid":"690549978851fd782e1ebc2c413f974d","network":"social_network","network_id":"690549978851fd782e1ebc2c413f974d","network_user":null,"network_user_id":"550b99e2aa7ba","network_user_name":"Content Creator","original_post_url":"https://www.website.url","original_user_url":"https://www.website.url","stack_id":1234,"claimed_data":{"claimed_at":"1579664135","claimed_by":"Content Creator","message":"Rights Granted"},"updated_time":1579664135}
A callback will be made via HTTP POST when an individual Tile's status has been updated.
Data
Field | Description |
---|---|
_id | Visual UGC ID of the Tile |
sta_feed_id | External ID provided by the Visual UGC Feed or API posted Tile |
guid | Alias of sta_feed_id |
network | Name of network the post/tile originated on (e.g. "twitter", "instagram", etc.) |
network_id | ID of post on the network |
action | "TILE_STATUS_UPDATE" |
status | The new status of the tile: "published" |
old_status | The previous status of the tile: "published" |
terms | An array of the Term IDs that the tile is associated with |
tags | An array of the Tag IDs that have been assigned for the Tile |
updated_time | Timestamp of event generation |
custom_fields.[key] | Value of the custom field key |
Sample
{"_id":"5e27c2c529a27762badd642b","action":"TILE_STATUS_UPDATE","sta_feed_id":"690549978851fd782e1ebc2c413f974d","guid":"690549978851fd782e1ebc2c413f974d","network":"social_network","network_id":"690549978851fd782e1ebc2c413f974d","network_user":null,"network_user_id":"550b99e2aa7ba","network_user_name":"Content Creator","custom_fields":[],"original_post_url":"","original_user_url":"https://www.website.url","stack_id":1234,"status":"queued","terms":[12345],"tags":["12345","23456","34567"],"sentiment_score":0,"external_data":{"firstname":"Content","lastname":"Creator","email":"ema[email protected]", "terms_and_conditions":1,"_id":{"$oid":"5e27c2c4a15d4162ba5d8a7e"}},"old_status":"published","updated_time":1579664379}
Usage Examples
A callback will be made via HTTP POST when an individual Tile has had its tags updated.
Data
Field | Description |
---|---|
_id | Visual UGC ID of the Tile |
sta_feed_id | External ID provided by the Visual UGC Feed or API posted Tile |
guid | Alias of sta_feed_id |
network | Name of network the post/tile originated on (e.g. "twitter", "instagram", etc.) |
network_id | ID of post on the network |
action | "TILE_TAGS_UPDATE" |
tags | An array of the Tag IDs |
old_tags | An array of the previous Tag IDs |
updated_time | Timestamp of event generation |
Sample
{"_id":"5e27c2c529a27762badd642b","action":"TILE_TAGS_UPDATE","sta_feed_id":"690549978851fd782e1ebc2c413f974d","guid":"690549978851fd782e1ebc2c413f974d","network":"social_network","network_id":"690549978851fd782e1ebc2c413f974d","network_user":"Content Creator","network_user_id":"550b99e2aa7ba","network_user_name":"Content Creator","custom_fields":[],"original_post_url":"","original_user_url":"","stack_id":1234,"tags":["12345","23456","34567"],"old_tags":["12345","34567"],"updated_time":1579664376}
A callback will be made via HTTP POST when an individual Tile has been voted on.
Data
Field | Description |
---|---|
_id | Visual UGC ID of the Tile |
sta_feed_id | External ID provided by the Visual UGC Feed or API posted Tile |
guid | Alias of sta_feed_id |
network | Name of network the post/Tile originated on (e.g. "twitter", "instagram", etc.) |
network_id | ID of post on the network |
action | "TILE_VOTES_UPDATE" |
votes | Number of current votes for the Tile |
A callback will be made via HTTP POST when an individual tile has been ingested.
Data
Field | Description |
---|---|
_id | Visual UGC ID of the Tile |
sta_feed_id | External ID provided by the Visual UGC Feed or API posted Tile |
guid | Alias of sta_feed_id |
network | Name of network the post/Tile originated on (e.g. "twitter", "instagram", etc.) |
network_id | ID of post on the network |
action | "TILE_INGESTED" |
status | The new status of the Tile: "published" |
terms | An array of the Term IDs that the tile is associated with |
tags | An array of the Tag IDs that have been assigned for the Tile |
updated_time | Timestamp of event generation |
sentiment_score | Numerical representation of the sentiment polarity |
custom_fields.[key] | Value of the custom field key |
Sample
{"_id":"5e27c2c529a27762badd642b","action":"TILE_INGESTED","sta_feed_id":"690549978851fd782e1ebc2c413f974d","guid":"690549978851fd782e1ebc2c413f974d","network":"sta_feed","network_id":"690549978851fd782e1ebc2c413f974d","network_user":null,"network_user_id":"550b99e2aa7ba","network_user_name":"First Name Last Name","original_post_url":"","original_user_url":"","stack_id":1277,"status":"published","terms":[49349],"tags":["111635","146566"],"sentiment_score":0,"external_data":{"firstname":"First Name","lastname":"Last Name","email":"[email protected]","ip":"59.100.203.78","terms_and_conditions_url":"http://www.stackla.com","terms_and_conditions":1},"created_time":1579664069}
A callback will be made via HTTP POST when an individual tile has been like or dislike.
Data
Field | Description |
---|---|
_id | Visual UGC ID of the Tile |
sta_feed_id | External ID provided by the Visual UGC Feed or API posted Tile |
guid | Alias of sta_feed_id |
network | Name of network the post/Tile originated on (e.g. "twitter", "instagram", etc.) |
network_id | ID of post on the network |
action | "TILE_LIKE_DISLIKE" |
likes | Number of current like for the Tile |
dislikes | Number of current dislike for the Tile |
type | The action type: "like" |
updated_time | Timestamp of event generation |
Usage Examples
A callback will be made via HTTP POST when a new user is successfully registered or an existing user profile is updated.
Data
Field | Description |
---|---|
id | Visual UGC ID of the User |
name | User First Name |
surname | User Last Name |
type | The action type: "added" |
username | Username |
action | "USER_UPDATE" |
display_timezone | User Timezone |
email | User Email Address |
created | Timestamp of event generation |
A callback will be made via HTTP POST when
Data
Sample
{"workflow_status":"approved","from":"goconnect","created_at":1579664073,"title":"Content Creator - GoConnect - 22nd Jan 2020 03:34 UTC","note":"","tags":["12345","23456"],"tile":{"_id":"5e27c2c529a27762badd642b","source":"social_network","source_created_at":1579664065,"source_unique_id":"sta_feed:690549978851fd782e1ebc2c413f974d","source_user_id":"550b99e2aa7ba","user":null,"name":"Content Creator","original_url":"https://www.website.url","claimed":true,"message":"Sample Message"},"type":"image","thumbnail":{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-small.jpg","mime":"image/jpeg","size":31438,"width":640,"height":359},"media":{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-medium.jpg","mime":"image/jpeg","size":102029,"width":1280,"height":719,"orientation":"landscape","dimension":"m"},"media_files":[{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-medium.jpg","mime":"image/jpeg","size":102029,"width":1280,"height":719},{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-large.jpg","mime":"image/jpeg","size":226643,"width":1824,"height":1024},{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-small.jpg","mime":"image/jpeg","size":31438,"width":640,"height":359}],"_id":"5e27c2c875986fa79afb6621"}
A callback will be made via HTTP POST when
Data
Sample
{"workflow_status":"approved","from":"goconnect","created_at":1579664073,"title":"Content Creator - GoConnect - 22nd Jan 2020 03:34 UTC","note":"","tags":["12345","23456"],"tile":{"_id":"5e27c2c529a27762badd642b","source":"social_network","source_created_at":1579664065,"source_unique_id":"sta_feed:690549978851fd782e1ebc2c413f974d","source_user_id":"550b99e2aa7ba","user":null,"name":"Content Creator","original_url":"https://www.website.url","claimed":true,"message":"Sample Message"},"type":"image","thumbnail":{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-small.jpg","mime":"image/jpeg","size":31438,"width":640,"height":359},"media":{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-medium.jpg","mime":"image/jpeg","size":102029,"width":1280,"height":719,"orientation":"landscape","dimension":"m"},"media_files":[{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-medium.jpg","mime":"image/jpeg","size":102029,"width":1280,"height":719},{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-large.jpg","mime":"image/jpeg","size":226643,"width":1824,"height":1024},{"url":"https://uploads-cdn.stackla.com/10/stack/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-small.jpg","mime":"image/jpeg","size":31438,"width":640,"height":359}],"_id":"5e27c2c875986fa79afb6621" "updated_at":1579664845,"oldValues":{"workflow_status":"approved","title":"Previous Title - GoConnect - 22nd Jan 2020 03:34 UTC","note":"","tags":["111635","146566"],"updated_at":1579664844}}
A callback will be made via HTTP POST when
Data
Sample
{"_id":"5e27c2c529a27762badd642b","avatar":null,"claimed":true,"claimed_by":"goconnect","created_at":1579664069,"image":"https://uploads-cdn.stackla.com/10/stackla/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-medium.jpg","lang":"en","media":"image","message":"Message","tags":["12345","23456","34567"],"updated_at":1579664381,"claimed_data":{"claimed_at":"2020-01-22T03:34:25.000Z","claimed_by":"goconnect","message":"Message"},"network_user_name":"Content Creator","original_post_url":"https://www.website.url","network":"social_network","network_user_id":"550b99e2aa7ba"}
A callback will be made via HTTP POST when
Data
Sample
{"_id":"5e27c2c875986fa79afb6621","from":"goconnect","title":"Content Creator - GoConnect - 22nd Jan 2020 03:34 UTC","note":"","tags":[12345,23456],"type":"image","media_files":[{"url":"https://uploads-cdn.stackla.com/10/stackla/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-medium.jpg","mime":"image/jpeg","size":102029,"width":1280,"height":719},{"url":"https://uploads-cdn.stackla.com/10/stackla/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-large.jpg","mime":"image/jpeg","size":226643,"width":1824,"height":1024},{"url":"https://uploads-cdn.stackla.com/10/stackla/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-small.jpg","mime":"image/jpeg","size":31438,"width":640,"height":359}],"created_at":1579664073,"thumbnail":{"url":"https://uploads-cdn.stackla.com/10/stackla/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-small.jpg","mime":"image/jpeg","size":31438,"width":640,"height":359},"media":{"url":"https://uploads-cdn.stackla.com/10/stackla/2020-01-22/5e27c2b17bd4e/42dd99b4ac68a4f5cbfadf2fb19dafa3-medium.jpg","mime":"image/jpeg","size":102029,"width":1280,"height":719}}
Last modified 2mo ago