[1] Liste des fonctionnalités : - envoi de SMS à un ou plusieurs destinataires, - lookup HLR, - récupération des récapitulatifs de campagne, - gestion des répertoires, - ajout en liste noire.
This is a community listing. If you own this API, you can request ownership.
npm install omnistream-sdkimport { OmniClient } from "omnistream-sdk";
const omni = new OmniClient({ token: process.env.OMNI_KEY! });
// One key reaches every API on the marketplace.
const data = await omni.call("isendpro/getCampagne");One install, one key - the same client calls every API on the marketplace.
Clé API
Doit valoir "1"
date de debut au format YYYY-MM-DD hh:mm
date de fin au format YYYY-MM-DD hh:mm
Retourne les SMS envoyés sur une période donnée
Compter le nombre de caractère
Interrogation credit
Ajoute un numero en liste noire
Retourne le liste noire
/**
* APIiSendPro - generated by OmniStream from API iSendPro's OpenAPI spec.
* One typed method per endpoint. A single Omni key reaches the API.
*/
const DEFAULT_BASE = "https://grid.skinvaults.online/v1/proxy/isendpro";
export class APIiSendProError extends Error {
status: number;
code?: string;
constructor(status: number, code: string | undefined, message?: string) {
super(message || `APIiSendPro error ${status}`);
this.name = "APIiSendProError";
this.status = status;
this.code = code;
}
}
export interface APIiSendProOptions {
baseUrl?: string;
fetch?: typeof fetch;
timeoutMs?: number;
}
export class APIiSendPro {
/** @param token Your OmniStream key (one key for every API). */
constructor(private token: string, private opts: APIiSendProOptions = {}) {
if (!token) throw new Error("APIiSendPro: token is required");
}
rateLimit: { remainingMinute?: number; remainingDay?: number } | null = null;
private async _request(method: string, path: string, { params, body }: { params?: Record<string, unknown>; body?: unknown } = {}): Promise<any> {
const f = this.opts.fetch ?? globalThis.fetch;
const url = new URL((this.opts.baseUrl ?? DEFAULT_BASE).replace(/\/+$/, "") + path);
if (params) for (const [k, v] of Object.entries(params)) if (v != null) url.searchParams.set(k, String(v));
const headers: Record<string, string> = { "x-omni-key": this.token };
if (body !== undefined) headers["content-type"] = "application/json";
const res = await f(url, { method, headers, body: body !== undefined ? JSON.stringify(body) : undefined });
this.rateLimit = {
remainingMinute: Number(res.headers.get("x-ratelimit-remaining-minute")) || undefined,
remainingDay: Number(res.headers.get("x-ratelimit-remaining-day")) || undefined,
};
const data = await res.json().catch(() => ({}));
if (!res.ok) throw new APIiSendProError(res.status, data?.error?.code, data?.error?.message);
return data.data ?? data;
}
/** Retourne les SMS envoyés sur une période donnée */
getCampagne(params: { "keyid": string; "rapportCampagne": string; "date_deb": string; "date_fin": string }): Promise<any> {
return this._request("GET", "/campagne", { params });
}
/** Compter le nombre de caractère */
comptage(body: unknown): Promise<any> {
return this._request("POST", "/comptage", { body });
}
/** Interrogation credit */
getCredit(params: { "keyid": string; "credit": string }): Promise<any> {
return this._request("GET", "/credit", { params });
}
/** Ajoute un numero en liste noire */
delListeNoire(params: { "keyid": string; "delListeNoire": string; "num": string }): Promise<any> {
return this._request("POST", "/dellistenoire", { params });
}
/** Retourne le liste noire */
getListeNoire(params: { "keyid": string; "getListeNoire": string }): Promise<any> {
return this._request("POST", "/getlistenoire", { params });
}
/** Vérifier la validité d'un numéro */
getHlr(body: unknown): Promise<any> {
return this._request("POST", "/hlr", { body });
}
/** Gestion repertoire (creation) */
repertoireCrea(body: unknown): Promise<any> {
return this._request("POST", "/repertoire", { body });
}
/** Gestion repertoire (modification) */
repertoire(body: unknown): Promise<any> {
return this._request("PUT", "/repertoire", { body });
}
/** Ajoute un numero en liste noire */
setListeNoire(params: { "keyid": string; "setlisteNoire": string; "num": string }): Promise<any> {
return this._request("POST", "/setlistenoire", { params });
}
/** add a shortlink */
addShortlink(body: unknown): Promise<any> {
return this._request("POST", "/shortlink", { body });
}
/** Envoyer un sms */
sendSms(body: unknown): Promise<any> {
return this._request("POST", "/sms", { body });
}
/** Envoyer des SMS */
sendSmsMulti(body: unknown): Promise<any> {
return this._request("POST", "/smsmulti", { body });
}
/** Ajoute un sous compte */
subaccountAdd(body: unknown): Promise<any> {
return this._request("POST", "/subaccount", { body });
}
/** Edit a subaccount */
subaccountEdit(body: unknown): Promise<any> {
return this._request("PUT", "/subaccount", { body });
}
}
export default APIiSendPro;
No reviews yet. Be the first to rate this API.
No. API iSendPro is included with your Omni key, so a single OmniStream key is enough to start calling it. There is no separate signup with the provider and no second key to manage.
[1] Liste des fonctionnalités : - envoi de SMS à un ou plusieurs destinataires, - lookup HLR, - récupération des récapitulatifs de campagne, - gestion des répertoires, - ajout en liste noire. It exposes 14 endpoints over GET, POST, PUT, including GET /campagne, POST /comptage, GET /credit.
Install the OmniStream SDK for your language and call API iSendPro through it. The client is generated from this API's OpenAPI spec, so parameters and responses are fully typed, and the same client also calls every other API in the marketplace.
You can start on the free plan. OmniStream charges for the unified SDK, key storage and proxy rather than for API iSendPro itself.
QuickChart: An API to generate charts and QR codes using QuickChart services.
Vérifier la validité d'un numéro
Gestion repertoire (creation)
Gestion repertoire (modification)
Ajoute un numero en liste noire
add a shortlink
Envoyer un sms
Envoyer des SMS
Ajoute un sous compte
Edit a subaccount