Skip to main content
All CollectionsOccupop API
Using Occupop webhooks
Using Occupop webhooks
Support Team avatar
Written by Support Team
Updated over 5 months ago

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

  1. Log in to your Occupop account.

  2. Navigate to the Settings > API Settings section.

  3. Scroll down to Webhooks.

  4. Click on "Create Webhook".

  5. 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:

  1. Parse the incoming JSON payload.

  2. Validate the data to ensure it’s coming from Occupop.

  3. 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.

Did this answer your question?