Skip to main content

Webhooks

Configure webhook URL for task notifications and status updates.

Endpoint​

POST https://data.reviewdata.ai/webhooks/create-webhook/

Description​

Sets or updates the webhook URL for authenticated users. The webhook will receive notifications about task processing events and status updates. This allows you to receive real-time notifications instead of polling the API for status updates.

Try It Out​

Test this endpoint directly in your browser:

Configure Webhook

POST

Test this endpoint directly in your browser. Enter your API key and modify the request body as needed.

Your API key is required for authentication

Request Body (JSON)

Modify the request parameters below. A unique foreign_key is auto-generated but can be manually edited.

Request Body​

Schema​

{
"api_key": "string",
"webhook": "string"
}

Required Fields​

FieldTypeRequiredDescription
api_keystringYesAPI key for authentication
webhookstringYesWebhook URL to receive notifications

Field Details​

  • api_key: Your API key for authentication (max length: 128 characters)
  • webhook: Valid URL where notifications will be sent (must be a valid URI format)

Example Requests​

Basic Webhook Configuration​

{
"api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"webhook": "https://example.com/webhook"
}

Webhook with Custom Path​

{
"api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"webhook": "https://api.myapp.com/webhooks/review-updates"
}

Webhook with Query Parameters​

{
"api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"webhook": "https://example.com/webhook?source=review-api&version=v1"
}

Response​

Success Response (201)​

{
"webhook": "https://example.com/webhook",
"status": "success"
}

Error Response (400)​

{
"error": "Invalid payload",
"details": {
"webhook": ["Enter a valid URL."]
}
}

Error Response (401)​

{
"error": "Invalid API key",
"details": {
"api_key": ["The provided API key is invalid or expired"]
}
}

Error Response (500)​

{
"error": "Database error: Connection failed"
}

Webhook Notifications​

When configured, your webhook URL will receive POST requests with the following payload structure:

Task Notification​

{
"task_id": "90j2m08rNwG5m3dL",
"publisher_key": "maps.google.com",
"foreign_key": "TEST1234567892",
"profile_key": "https://www.google.com/maps/place/Business-Name/...",
"task_status": 200,
"reviews_urls": [
"https://sau-plus-one-reviews.s3.us-west-2.amazonaws.com/90j2m08rNwG5m3dL.jl"
]
}

Webhook Headers​

Each webhook notification includes the following headers:

HeaderValueDescription
Content-Typeapplication/jsonPayload format
User-AgentShoutAboutUs-Webhook/1.0API identifier
X-Webhook-Signaturesha256=...HMAC signature for verification
X-Webhook-Timestamp1640995200Unix timestamp

Testing Webhooks​

You can test your webhook endpoint using tools like:

  • ngrok: For local development testing
  • webhook.site: For temporary webhook testing
  • Postman: For manual testing

Next Steps​