This document serves as a reference for the implementation of the Beckn Provider Platform (BPP) specifically tailored to the Jobs and Internships track, compliant with the DSEP spec v1.0.0. The Job and Internship BPP Service facilitates interactions between job providers/employers and job seekers, with the aim of establishing a transparent ecosystem that promotes learning, connection, problem-solving, and knowledge-sharing within communities.
This repository contains a reference implementation of the BPP that has been onboarded on the Beckn Gateway and Beckn Gateway Registry under the Jobs and Internships category.
- Domain
dsep:jobs
- BPP Deployed URL swaggger
- BAP use postman collection to test the BPP
- BPP Network Participant Id: affinidi.com.bpp
- Network Participant Information on Beckn Registry
- /search:
This endpoint enables users to search for jobs and internships by sending a direct DSEP-compliant request to the BPP with the context.domain set as dsep:jobs. This allows for a targeted and efficient search experience for users.
- /select:
This endpoint enables users to select a specific job or internship and retrieve more detailed information about it. The context domain for this method should be set as dsep:jobs. In the reference implementation of the course discovery platform, this endpoint is triggered when a user expands a particular job to view its details.
- /init:
This endpoint allows for initiating application for job or internship by getting a validation from the BPP for posted Xinput data. The context domain for this method should be dsep:jobs.
- /confirm:
This endpoint confirms the submission of an application after successful validation during the Init request.
- /status:
This endpoint allows users to retrieve the status of their job application. The application status may change over time, starting from the initial screening phase, progressing to either Accepted or Rejected, and ultimately, if selected, leading to the Onboarding phase.
Each of these API calls requires a BAP URL to send data back to the BAP. Therefore, the client (BAP) must expose the on_search, on_select, on_init, on_confirm, and on_status endpoints to receive the response from the BPP. These endpoints should be configured to receive the appropriate data format and handle the responses accordingly.
- .Net 6.0
- OpenSearch 2.4.0
- An API to query the job catalogue : in this example DAL-API (Data access layer- API )
- Environment variables as below
--
searchUrl
searchbaseUrl
save_xinput_url
bpp_privatekey
bpp_subscriber_id
bpp_unique_key_id
bpp_url
bpp_Xinput_url
verify_signature
dsep_registry_url
verify_proxy_signature
- ANY document DB with rest API interface : this example uses OpenSearch to query the catalogue
Job and Internship BPP service can be setup in local using docker images:
-
docker run time
-
docker compose
-
postman(or similar )
-
- BPP
- Data access layer API
- OpenSearch
-
BPP
Navigate to BPP folder
docker build . -t dsep-bpp
-
Data access layer API
Navigate to DAL-API
docker build . -t dal-api
Then use the local docker compose file https://github.com/sanjay95/reference_DSEP_BPP/blob/main/docker-compose-local.yml to start the containers
docker-compose - f < docker-compose-local.yml file location > up -d
If you do not want to build the images and use the available images to run the setup, use the default docker compose file https://github.com/sanjay95/reference_DSEP_BPP/blob/main/docker-compose.yml to start the containers
- http://localhost:8088/search
- http://localhost:8088/select
- http://localhost:8088/confirm
- http://localhost:8088/status
http://localhost:8080/opensearch
- Create a job
- POST
- http://localhost:8080/opensearch/addjob Payload sample: https://github.com/sanjay95/reference_DSEP_BPP/blob/main/Sample_Job.json Job ID can be null, it will be generated by API.
- Get a single job for ID
- Get all applications for a job ID
- Get A single application details
- Update an applications status
https://github.com/sanjay95/reference_DSEP_BPP/blob/main/Application_sample.json