Skip to content

The NodeJS Client SDK to communicate with IKODDI, the airtime and SMS delivery plateform in West Africa

Notifications You must be signed in to change notification settings

orachide/ikoddi-nodejs-sdk

 
 

Repository files navigation

ikoddi-nodejs-sdk

The NodeJS Client SDK to communicate with IKODDI, the airtime and SMS delivery plateform in West Africa

How to install

npm install --save ikoddi-client-sdk

How to use it ?

import { Ikoddi } from "ikoddi-client-sdk";

/**AIRTIME**/

//Initialization of the API key for sending AIRTIME, the URL, and the GroupId (organization_id)
const ikoddiClient = new Ikoddi()
  .withApiKey("OyDOoUbrAaWMm5U67j4JIzwhzUeZvGWT")
  .withGroupId("10268496");
/*For testing purposes,
add .withApiBaseURL("https://api.staging.ikoddi.com/api/v1/groups/")
during initialization.*/

// Retrieve all internet plans
const internetPlans = await ikoddiClient.internetPlans();

// Send airtime
ikoddiClient.sendAirtime(["22660101825"], "12131", "1000", "Monthly recharge");

/* sendAirtime methode attributes :
numbers : List of number to send airtime,
ref : The airtime reference;
      for mobile credit, use 11101 for Orange operator, 12131 for Moov operator, 13160 for Telecel operator.
      for the internet package, use a reference that you obtain by retrieving the reference list.
amount : airtime amount,
campagnName : This is the name you give to this transaction,
phoneCode : This is your international phone identifier. Default is 226,
isoCode : This is the ISO code of your country. Default is BF
*/

/**SMS**/

//Initialization of the API key for sending SMS, the URL, and the GroupId (organization_id)
const ikoddiClient = new Ikoddi()
  .withApiKey("OyDOoUbrAaWMm5U67j4JIzwhzUeZvGWT")
  .withGroupId("10268496");
/*For testing purposes,
add .withApiBaseURL("https://api.staging.ikoddi.com/api/v1/groups/")
during initialization.*/

//Send SMS
ikoddiClient.sendSMS(["22660101825"],"Raoul","Hello les devs","Daily message");

/* sendAirtime methode attributes :
numbers : List of number to send sms,
from : The person or organization sending the message,
message : The message,
smsBroadCast :This is the name you give to this bulk message sending,
phoneCode : This is your international phone identifier. Default is 226,
isoCode : This is the ISO code of your country. Default is BF
*/

OTP As A Service

// 1- Initialize Ikoddi Client
const ikoddiClient = new Ikoddi()
  .withApiKey("OyDOoUbrAaWMm5U67j4JIzwhzUeZvGWT")
  .withGroupId("10268496")
  // Create an OTP App and set its value
  .withOtpAppId("clmecvbby0000j39j4ozy2z3c");

// 2- Send OTP Code

const otpResponse = await ikoddiClient.sendOTP("22670707070");
console.log(otpResponse);
// {"status":0,"otpToken":"UCQS2bNyfVOKENFcCnQTV17OTL/Ja2rt0ku5C0aZMopzE0kQOX10OQ4RF8aT2zQTN0LsTiozcY9e1YMxK7xAd8Tbz1xNnFMlIfz43D0ZQofy3TVAed1zmg52a1+29GGYGuN0NSzvE5fVPFxWvk0jC0f8q8R/84BxhmZD2OaMGVkh1DufftnSXvnV8LXtCMI3"}

// The User should receive an OTP code

// 3- Verify the OTP
const otpVerifyResponse = await ikoddiClient
  .verifyOTP({ identity: "22670707070", otp: "629185", verificationKey: otpResponse.otpToken })
console.log(otpVerifyResponse);
// {"status":0,"message":"OTP Matched for 22670707070"}

About

The NodeJS Client SDK to communicate with IKODDI, the airtime and SMS delivery plateform in West Africa

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%