npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ikoddi-client-sdk

v1.1.1

Published

Ikoddi Airtime and Message (SMS, USSD) SDK. https://ikoddi.com

Downloads

96

Readme

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"}