magfa-api
Version:
Magfa SMS API client for JS/TS/ESM/Node.js
3 lines (2 loc) • 8.69 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e||self).magfaApi={})}(this,function(e){function t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(t=function(){return!!e})()}function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}function n(e){return n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},n(e)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function s(e){var r="function"==typeof Map?new Map:void 0;return s=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,s)}function s(){return function(e,r,n){if(t())return Reflect.construct.apply(null,arguments);var s=[null];s.push.apply(s,r);var i=new(e.bind.apply(e,s));return n&&o(i,n.prototype),i}(e,arguments,n(this).constructor)}return s.prototype=Object.create(e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),o(s,e)},s(e)}var i;function u(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var a=/*#__PURE__*/function(){function e(e,t,r,n){return this.apiUrl="https://sms.magfa.com/api/http/sms/v2",this.username=void 0,this.domain=void 0,this.password=void 0,this.from=void 0,this.authHeader=void 0,this.username=e||"",this.password=t,this.domain=r,this.from=n,this.authHeader="Basic "+Buffer.from(this.username+"/"+this.domain+":"+this.password).toString("base64"),this}var t=e.prototype;return t.Api=function(e,t,r){void 0===t&&(t="GET");try{var n,o,s=function(e){function t(e){var t;if(void 0===(null==(t=o)?void 0:t.status))throw new c(void 0,"The server didn't respond correctly");if(0===o.status)return o;if(Object.keys(h).includes(""+o.status))throw new c(o.status);return o}var r=u(function(){return Promise.resolve(n.json()).then(function(e){o=e})},function(){throw new c(void 0,"The server didn't respond correctly")});return r&&r.then?r.then(t):t()},i=this,a=u(function(){return Promise.resolve(fetch(i.apiUrl+"/"+e,{headers:{Accept:"application/json","Content-Type":"application/json",Authorization:i.authHeader},method:t,body:r&&JSON.stringify(r)})).then(function(e){n=e})},function(){throw new c(void 0,"Server connection failed")});return Promise.resolve(a&&a.then?a.then(s):s())}catch(e){return Promise.reject(e)}},t.Send=function(e){var t=e.recipients,n=e.messages,o=e.encodings,s=e.uids,i=e.udhs;try{if(!t||!n)throw new c(void 0,"recipients and messages should not be empty");if("string"==typeof t&&(t=[t]),"string"==typeof n&&(n=[n]),!n.length||t.length!==n.length&&1!==n.length)throw new c(void 0,"recipients and messages should have the same length");var u=Array(t.length).fill(this.from);return o&&!Array.isArray(o)&&(o=Array(t.length).fill(o)),Promise.resolve(this.Api("send","POST",{recipients:t,messages:n,senders:u,encodings:o,uids:s,udhs:i})).then(function(e){var t=[],n=0,o=0;return e.messages.map(function(e){if(0===e.status){var s=r({},e,{message:"پیام با موفقیت رسید"});t.push(s),n++}else{var i=r({},e,{message:f(e.status)});t.push(i),o++}}),r({},e,{messages:t,count:{success:n,fail:o}})})}catch(e){return Promise.reject(e)}},t.Statuses=function(e){try{return Promise.resolve(this.Api("statuses/"+e.join(",")))}catch(e){return Promise.reject(e)}},t.Mid=function(e){try{return Promise.resolve(this.Api("mid/"+e)).then(function(e){return r({},e,{mid:e.mid||void 0})})}catch(e){return Promise.reject(e)}},t.Balance=function(){try{return Promise.resolve(this.Api("balance"))}catch(e){return Promise.reject(e)}},t.ReceivedMessages=function(e){void 0===e&&(e=100);try{return Promise.resolve(this.Api("messages/"+e))}catch(e){return Promise.reject(e)}},e}(),c=/*#__PURE__*/function(e){var t,r;function n(t,r){var n,o,s;return t&&Object.keys(h).includes(""+t)?(o=f(t),s=t):(o=r||"Unknown Magfa error",s=void 0),(n=e.call(this,o)||this).status=void 0,n.message=o,n.status=s,n}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),n}(/*#__PURE__*/s(Error));function f(e){return 0===e?"success":Object.keys(h).includes(""+e)?h[e]:""}var h={1:"شماره گیرنده نادرست است",2:"شماره فرستنده نادرست است",3:"پارامتر encoding نامعتبر است. (بررسی صحت و همخوانی متن پیامک با encoding انتخابی)",4:"پارامتر mclass نامعتبر است",6:"پارامتر UDH نامعتبر است",13:"محتویات پیامک (ترکیب UDH و متن) خالی است. (بررسی دوبارهی متن پیامک و پارامتر UDH)",14:"مانده اعتبار ریالی مورد نیاز برای ارسال پیامک کافی نیست",15:"سرور در هنگام ارسال پیام مشغول برطرف نمودن ایراد داخلی بوده است. (ارسال مجدد درخواست)",16:"حساب غیرفعال است. (تماس با واحد فروش سیستمهای ارتباطی)",17:"حساب منقضی شده است. (تماس با واحد فروش سیستمهای ارتباطی)",18:"نام کاربری و یا کلمه عبور نامعتبر است. (بررسی مجدد نام کاربری و کلمه عبور)",19:"درخواست معتبر نیست. (ترکیب نام کاربری، رمز عبور و دامنه اشتباه است. تماس با واحد فروش برای دریافت کلمه عبور جدید)",20:"شماره فرستنده به حساب تعلق ندارد",22:"این سرویس برای حساب فعال نشده است",23:"در حال حاضر امکان پردازش درخواست جدید وجود ندارد، لطفا دوباره سعی کنید. (ارسال مجدد درخواست)",24:"شناسه پیامک معتبر نیست. (ممکن است شناسه پیامک اشتباه و یا متعلق به پیامکی باشد که بیش از یک روز از ارسال آن گذشته)",25:"نام متد درخواستی معتبر نیست. (بررسی نگارش نام متد با توجه به بخش متدها در این راهنما)",27:"شماره گیرنده در لیست سیاه اپراتور قرار دارد. (ارسال پیامکهای تبلیغاتی برای این شماره امکانپذیر نیست)",28:"شماره گیرنده، بر اساس پیششماره در حال حاضر در مگفا مسدود است",29:"آدرس IP مبدا، اجازه دسترسی به این سرویس را ندارد",30:"تعداد بخشهای پیامک بیش از حد مجاز استاندارد (۲۶۵ عدد) است",31:"دادههای موردنیاز برای ارسال کافی نیستند. (اصلاح HTTP Request)",101:"طول آرایه پارامتر messageBodies با طول آرایه گیرندگان تطابق ندارد",102:"طول آرایه پارامتر messageClass با طول آرایه گیرندگان تطابق ندارد",103:"طول آرایه پارامتر senderNumbers با طول آرایه گیرندگان تطابق ندارد",104:"طول آرایه پارامتر udhs با طول آرایه گیرندگان تطابق ندارد",105:"طول آرایه پارامتر priorities با طول آرایه گیرندگان تطابق ندارد",106:"آرایهی گیرندگان خالی است",107:"طول آرایه پارامتر گیرندگان بیشتر از طول مجاز است",108:"آرایهی فرستندگان خالی است",109:"طول آرایه پارامتر encoding با طول آرایه گیرندگان تطابق ندارد",110:"طول آرایه پارامتر checkingMessageIds با طول آرایه گیرندگان تطابق ندارد"},p=((i={})[-1]="شناسه موجود نیست (شناسه نادرست یا گذشت بیش از ۲۴ ساعت از ارسال پیامک)",i[0]="وضعیتی دریافت نشده",i[1]="رسیده به گوشی",i[2]="نرسیده به گوشی",i[8]="رسیده به مخابرات",i[16]="نرسیده به مخابرات",i);e.GetStatusText=f,e.Magfa=a,e.MagfaError=c,e.default=a,e.magfaErrors=h,e.messageStatuses=p});
//# sourceMappingURL=magfa.umd.js.map