sharpapi / laravel-job-positions-api
Job Positions API for Laravel powered by SharpAPI.com
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/sharpapi/laravel-job-positions-api
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- laravel/framework: ^9.0|^10.0|^11.0|^12.0
- sharpapi/php-core: ^1.0
- spatie/url: ^2.4
Requires (Dev)
- laravel/pint: ^1.0
README
Job Positions Database API for Laravel
🚀 Access a comprehensive database of job positions for your Laravel applications.
Check the details at SharpAPI's Job Positions API page.
Requirements
- PHP >= 8.1
- Laravel >= 9.0
Installation
Follow these steps to install and set up the SharpAPI Laravel Job Positions API package.
- Install the package via
composer:
composer require sharpapi/laravel-job-positions-api
-
Register at SharpAPI.com to obtain your API key.
-
Set the API key in your
.envfile:
SHARP_API_KEY=your_api_key_here
- [OPTIONAL] Publish the configuration file:
php artisan vendor:publish --tag=sharpapi-job-positions-api
Key Features
- Job Position Search: Search for job positions by title or keyword.
- Job Position Details: Get detailed information about specific job positions.
Usage
You can inject the JobPositionsApiService class to access the job positions database functionality.
Basic Workflow
- Search for Job Positions: Use
searchJobPositionsto find job positions by title or keyword. - Get Job Position Details: Use
getJobPositionByIdto get detailed information about a specific job position.
Controller Example
Here is an example of how to use JobPositionsApiService within a Laravel controller:
<?php namespace App\Http\Controllers; use GuzzleHttp\Exception\GuzzleException; use SharpAPI\JobPositionsApi\JobPositionsApiService; class JobPositionsController extends Controller { protected JobPositionsApiService $jobPositionsService; public function __construct(JobPositionsApiService $jobPositionsService) { $this->jobPositionsService = $jobPositionsService; } /** * @throws GuzzleException */ public function searchJobPositions(string $query) { $results = $this->jobPositionsService->searchJobPositions($query); return response()->json($results); } /** * @throws GuzzleException */ public function getJobPositionDetails(string $positionId) { $position = $this->jobPositionsService->getJobPositionById($positionId); return response()->json($position); } }
Handling Guzzle Exceptions
All requests are managed by Guzzle, so it's helpful to be familiar with Guzzle Exceptions.
Example:
use GuzzleHttp\Exception\ClientException; try { $positions = $this->jobPositionsService->searchJobPositions('developer'); } catch (ClientException $e) { echo $e->getMessage(); }
Optional Configuration
You can customize the configuration by setting the following environment variables in your .env file:
SHARP_API_KEY=your_api_key_here SHARP_API_BASE_URL=https://sharpapi.com/api/v1
Job Position Data Format Example
{
"data": {
"id": "18f73cda-db62-454b-aa53-aa26acb196b7",
"name": "Billing Manager",
"slug": "billing-manager",
"related_job_positions": [
{
"id": "445b1023-2c3c-41c4-a986-08d8400e52a5",
"name": "Accounts Receivable Manager",
"slug": "accounts-receivable-manager",
"weight": 9
},
{
"id": "f6749359-de3a-4c32-ac31-75e059197a0f",
"name": "Billing Coordinator",
"slug": "billing-coordinator",
"weight": 8
},
{
"id": "bd8f8374-a717-4474-be41-5582a67b4ff9",
"name": "Billing Supervisor",
"slug": "billing-supervisor",
"weight": 9.5
}
]
}
}
Support & Feedback
For issues or suggestions, please:
Changelog
Please see CHANGELOG for a detailed list of changes.
Credits
- A2Z WEB LTD
- Dawid Makowski
- Enhance your Laravel AI capabilities!
License
The MIT License (MIT). Please see License File for more information.
Follow Us
Stay updated with news, tutorials, and case studies: