Overview
Occupop webhooks allow you to receive real-time updates about your jobs and candidates directly from the Occupop platform. Follow these steps to set up and use Occupop webhooks effectively:
Step 1: Understand Webhooks
Webhooks are automated messages sent from apps when something happens. They have a message (or payload) and are sent thought a POST request to a unique URL that receives the data.
Step 2: Set Up Your Endpoint
To use Occupop webhooks, you need to set up an endpoint (a URL) on your server where the webhook data will be sent. This can be done by creating a dedicated route in your web application.
Step 3: Register the Webhook in Occupop
Log in to your Occupop account.
Navigate to the Settings > API Settings section.
Scroll down to Webhooks.
Click on "Create Webhook".
Enter the URL of your endpoint and Confirm.
Step 4: Handle Incoming Webhook Data
Once the webhook is set up, Occupop will start sending POST requests to your endpoint whenever the chosen events occur. Ensure your endpoint can handle these requests:
Parse the incoming JSON payload.
Validate the data to ensure it’s coming from Occupop.
Process the data as needed (e.g., update your database, trigger notifications, etc.).
Data format & events
The basic format of the data pushed follow our basic API resources format according to each event type as follow:
JobResource_created - when a job is posted live on Occupop side
JobResource_updated - when a job have its details updated or status changed
CandidateResource_created - when a candidate is received in one of your jobs
CandidateResource_updated - when a candidate have its details updated
CandidateResource_status_updated - when a candidate have its status updated (moved through the hiring flow, hired, rejected, etc)
Some examples of those events:
{
"meta": {
"resource_type": "CandidateResource",
"event_name": "CandidateResource_updated",
},
"data": {
"uuid": "string",
"status": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"phone": "string",
"profile": "string",
"job_uuid": "string",
"source_type": "string",
"source_name": "string",
"location": {
"city": "string",
"state": "string",
"country": "string",
"city_id": "string",
"city_full_name": "string",
"city_lat": "string",
"city_lng": "string",
"country_short": "string"
},
"file": {
"name": "string",
"url": "string"
},
"hiring_flow_step": {
"uuid": "string",
"name": "string"
},
"total_score": 0,
"ai_score": 0,
"interview_score": 0,
"questions_score": 0,
"questions_form": {
"type": "string",
"text": "string",
"options": "string",
"answer": "string"
},
"created_at": "string",
"updated_at": "string",
"received_at": "string",
"hired_at": "string",
"starts_at": "string"
}
}
{
"meta": {
"resource_type": "JobResource",
"event_name": "JobResource_created",
},
"data": {
"uuid": "string",
"title": "string",
"description": "string",
"location": {
"city": "string",
"state": "string",
"country": "string",
"city_id": "string",
"city_full_name": "string",
"city_lat": "string",
"city_lng": "string",
"country_short": "string"
},
"sectors": [
{
"uuid": "string",
"name": "string"
}
],
"subsectors": [
{
"uuid": "string",
"name": "string"
}
],
"contract": "string",
"period": "string",
"salary": {
"type": "string",
"period": "string",
"start": "string",
"end": "string",
"details": "string"
},
"published": "string",
"published_at": "string",
"questions_form": {
"type": "string",
"text": "string",
"options": "string",
"answer": "string"
},
"closed_for_applicants": true,
"require_cv": true,
"require_opt_in_for_job": true,
"require_opt_in_for_database": true,
"apply_url": "string",
"unique_slug": "string",
"cv_upload_signed_url": "string",
"company_name": "string",
"company_logo": "string",
"company_label_uuid": "string",
"created_at": "string"
}
}
Step 5: Monitor and Maintain
Regularly monitor your webhooks to ensure they are functioning correctly. Handle any errors or exceptions that may occur and update your endpoint URL if it changes.
Conclusion
By following these steps, you can effectively integrate Occupop webhooks into your system, allowing for real-time updates and seamless communication between Occupop and your application.