node-behind-api-client
v2.0.61
Published
A comprehensive Node.js client library for interacting with the Behind.ai API ecosystem. This package provides seamless integration with multiple Behind.ai services including EasyJob recruitment management, GPT services, payments, storage, and more.
Readme
Node Behind API Client
A comprehensive Node.js client library for interacting with the Behind.ai API ecosystem. This package provides seamless integration with multiple Behind.ai services including EasyJob recruitment management, GPT services, payments, storage, and more.
Installation
npm install node-behind-api-clientQuick Start
Basic Setup
const BehindApiClient = require('node-behind-api-client');
// Initialize the client
const behindAPI = new BehindApiClient('https://api.app.behind.ai', 'your-access-token');
// For self-signed certificates (development)
behindAPI.selfsigned = true;Simple Usage Example
// Example: Create a company in EasyJob
async function createCompany() {
try {
const result = await behindAPI.easyjob.V10.companies.create("My Company");
console.log('Company created:', result);
} catch (error) {
console.error('Error:', error);
}
}
createCompany();Available Services
The client provides access to the following Behind.ai services:
- easyjob - Recruitment and candidate management
- gpt - AI and language model services
- payments - Payment processing (Payture, Stripe)
- storage - File storage and management
- mailer - Email services
- chat - Chat and messaging
- sales - Sales management
- monitor - System monitoring
- tools - Utility tools (PDF processing, etc.)
- oauth - OAuth authentication
- rag - Retrieval-Augmented Generation
- global - Global services
- mastogram - Social media integration
- tests - Testing utilities
Event Handlers
The client provides event handlers for common scenarios:
// Handle expired tokens
behindAPI.onExpired(() => {
console.log('Token expired, please refresh');
});
// Handle rejected requests
behindAPI.onReject((response) => {
console.log('Request rejected:', response);
});
// Handle rate limiting
behindAPI.onTooManyRequests((response) => {
console.log('Rate limit exceeded:', response);
});Direct API Requests
You can also make direct API requests using the generic request method:
// Direct request format: /app/version/module/method
const result = await behindAPI.request('/easyjob/V10/companies/create', {
name: 'Company Name'
});Authentication
The client supports multiple authentication methods:
- Bearer Token (recommended)
- Access Token in request headers
- Access Token in request body
Authentication is handled automatically when you provide the access token during initialization.
Documentation
For detailed API documentation and examples for each service, refer to the documentation in the docs/behind-api-client/ directory:
EasyJob Documentation
- EasyJob Overview - Complete recruitment management API
- Job Descriptions - Job posting management
- Candidate Profiles - Candidate management
- Applications - Application processing
- Applicants - Applicant management
- Candidate Questions - Interview questions
Payment Documentation
- Payture Integration - Standard payment processing
- Payture Cards - Card payment processing
- Payture Subscriptions - Subscription management
- Payture v2.1 - Enhanced payment features
- RuKitchen Integration - Restaurant-specific payments
- Stripe Flow - Stripe payment integration
Storage Documentation
- RAG Storage - Retrieval-Augmented Generation storage
Error Handling
All API methods return promises and should be wrapped in try-catch blocks:
try {
const result = await behindAPI.easyjob.V10.companies.create("Company Name");
if (result.success) {
console.log('Success:', result.data);
} else {
console.log('Failed:', result.message);
}
} catch (error) {
console.error('Exception:', error);
}Response Format
All API responses follow a consistent format:
Success Response:
{
success: true,
data: { /* response data */ }
}Error Response:
{
success: false,
message: "Error description",
code: 1001 // Error code
}License
ISC
Repository
This package is maintained in the Behind.ai private repository. For issues and contributions, contact the development team.
