sain-api-context
v1.0.42
Published
Encrypting apikey and encrypting session key with RSA publicKey context used for mpesa openapi
Downloads
23
Maintainers
Readme
Sain api context Package
The sain-api-context
package provides a convenient way to interact with APIs using context-based authentication and session management.
Installation
You can install the package via npm:
npm install sain-api-context
Usage
To use the SainApiContext class, you need to instantiate it with the required parameters:
const ApiContext = require('sain-api-context');
// Instantiate ApiContext with required parameters
const apiContext = new ApiContext(
{
endpoint: process.env.API_ENDPOINT,
apiKey: process.env.SANDBOX_API_KEY,
publicKey:process.env.PUBLIC_KEY
},
{encryptionAlgorithm:"RSAES-PKCS1-V1_5"} //its also a default
);
Methods
setSessionID(sessionUrl)
This method fetch and sets the session ID for the API context. It requires the API key to be set beforehand.
try {
if(apiContext.setSessionID('/getSession/')){
console.log('Session ID set successfully:');
};
} catch (error) {
console.error('Error setting session ID:', error);
}
request(url, method, data)
This method makes a request to the API using the specified URL, HTTP method, and data payload.
GET
try {
const response = await apiContext.request('/api/resource', 'GET');
console.log('Response:', response.data);
} catch (error) {
console.error('Error making request:', error);
}
POST
try {
const response = await apiContext.request('/api/resource', 'POST', payload);
console.log('Response:', response.data);
} catch (error) {
console.error('Error making request:', error);
}
PUT
try {
const response = await apiContext.request('/api/resource', 'PUT', payload);
console.log('Response:', response.data);
} catch (error) {
console.error('Error making request:', error);
}
Destroy Session
try {
await apiContext.destroySession();
} catch (error) {
console.error('Error destroying session:', error);
}
License
This package is open source and available under the MIT License