Really Good Culture Webhooks
The RGC webhooks provide an easy to use interface that allows 3rd party system to send data to the RGC platform, or to notify RGC about updates or specific events that happen within those platforms, such as product updates, or customer checkouts.
The base url
All of the Webhooks use the same base url:
https://services.reallygoodculture.com/webhooks/In order to use the webhooks, you will need to pass an api key as a header to the api. The header name is x-rgc-api-key and the value is the api key that you were provided.
If you need to a new key, or change the existing one, please contact us at tech@reallygoodculture.com.
The api key
!!! Please never use this on the client side, and never allow it to be published in any code that is sent to the browser, or is publicly accessible. !!!
Email us at tech@reallygoodculture.com to get new key, or if you have any questions
Create a product
When a new product is added to your database, it will not have an equivalent in the RGC system, and no score can be displayed. To avoid this, we allow you to notify Really Good Culture about all new products that have been created so we can start collecting reviews and building Really Good Culture a score.
In order to notify Really Good Culture, please integrate a webhook call within the product creation workflow of your system, by making a POST to the api below:
POST https://services.reallygoodculture.com/webhooks/product
Headers:
Content-Type: application/json
x-rgc-api-key: [API_KEY]
Body Content
{
"id": "...",
"sku": "...",
"gtin": "...",
"name": "...",
"description": "...",
"imageUrl": "...",
"price": "...",
"url": "...",
"categoryL1": "...",
"categoryL2": "...",
"categoryL3": "...",
"brandName": "..."
}id- your internal id of the product; once the product is in RGC's system, you can refer to this product by this id, and setting theID_TYPEtoSIDsku- (optional) your internal sku of the product; once the product is in RGC's system, you can refer to this product by this id, and setting theID_TYPEtoSKUgtin- (optional) if your system has informations about GTINs, please set this. if a product already exists for this GTIN youridwill be linked to this product.name- the product namedescription- the product descriptionimageUrl- a valid image url; this will be downloaded and stored on RGC's cdnprice- (optional) the price of the producturl- (optional) the url of the product on your sitebrandName- the name of the brand of the productcategoryL1- the first level category of the productcategoryL2- (optional) the second level category of the productcategoryL3- (optional) the third level category of the product
Products Bulk Sync
If you have a large number of products that you want to sync with RGC, you can use the bulk sync api. This api will allow you to send a large number of products in a single request, and will be processed in the background.
POST https://services.reallygoodculture.com/webhooks/product/sync
Headers:
Content-Type: application/json
x-rgc-api-key: [API_KEY]
Body Content
[
{
"id": "...",
"sku": "...",
"gtin": "...",
"name": "...",
"description": "...",
"imageUrl": "...",
"price": "...",
"url": "...",
"categoryL1": "...",
"categoryL2": "...",
"categoryL3": "...",
"brandName": "..."
},
{
"id": "...",
"sku": "...",
"gtin": "...",
"name": "...",
"description": "...",
"imageUrl": "...",
"price": "...",
"url": "...",
"categoryL1": "...",
"categoryL2": "...",
"categoryL3": "...",
"brandName": "..."
},
...
]each product in the array should have the same structure as the product in the Create a product api.
Notify Customer Checkout (for retailers use only)
When one of your clients completes the checkout process on your site, you can let Really Good Culture know what products the user has purchased, and aftyer 3 days, Really Good Culture will send out an email, asking the user to review the purchased products.
POST https://services.reallygoodculture.com/webhooks/checkout-completed?/[ID_TYPE]
Headers:
Content-Type: application/json
x-rgc-api-key: [API_KEY]URL Params
ID_TYPE- specifies what kind of identification you are using to refer to products. Current accepted values areGTIN,WFIDorSID.
Query Params
nodelay- (optional) if set totrue, the email will be sent immediately, otherwise it will be sent after 3 days
Body Content
{
"email": "user@example.com",
"products": ["xxxxxxxxxxxxx", "yyyyyyyyyyyyy"]
}email: the email of the user that has completed the checkoutproducts: list of products that the user has purchased; this can be either an array of strings, or a string separated by comma character (,)
Alternative Example:
{
"email": "user@example.com",
"products": "xxxxxxxxxxxxx,yyyyyyyyyyyyy"
}** Response **
{
"status": true | false,
"error": "error message"
}If the operation is successfull completed, the api will respond with status=true
If the operation has failed, the api will respond with status=false and and error message as string
Additionally, the API will send http status codes that will help understanding the nature of the error (eg: 403 Unauthorized, 400 Bad request)