magfa-api
Version:
Magfa SMS API client for JS/TS/ESM/Node.js
3 lines (2 loc) • 8.52 kB
JavaScript
function t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(t=function(){return!!e})()}function e(){return e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},e.apply(this,arguments)}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function n(t,e){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},n(t,e)}function s(e){var o="function"==typeof Map?new Map:void 0;return s=function(e){if(null===e||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==o){if(o.has(e))return o.get(e);o.set(e,s)}function s(){return function(e,r,s){if(t())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,r);var i=new(e.bind.apply(e,o));return s&&n(i,s.prototype),i}(e,arguments,r(this).constructor)}return s.prototype=Object.create(e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),n(s,e)},s(e)}var o;function i(t,e){try{var r=t()}catch(t){return e(t)}return r&&r.then?r.then(void 0,e):r}var u=/*#__PURE__*/function(){function t(t,e,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=t||"",this.password=e,this.domain=r,this.from=n,this.authHeader="Basic "+Buffer.from(this.username+"/"+this.domain+":"+this.password).toString("base64"),this}var r=t.prototype;return r.Api=function(t,e,r){void 0===e&&(e="GET");try{var n,s,o=function(t){function e(t){var e;if(void 0===(null==(e=s)?void 0:e.status))throw new c(void 0,"The server didn't respond correctly");if(0===s.status)return s;if(Object.keys(h).includes(""+s.status))throw new c(s.status);return s}var r=i(function(){return Promise.resolve(n.json()).then(function(t){s=t})},function(){throw new c(void 0,"The server didn't respond correctly")});return r&&r.then?r.then(e):e()},u=this,a=i(function(){return Promise.resolve(fetch(u.apiUrl+"/"+t,{headers:{Accept:"application/json","Content-Type":"application/json",Authorization:u.authHeader},method:e,body:r&&JSON.stringify(r)})).then(function(t){n=t})},function(){throw new c(void 0,"Server connection failed")});return Promise.resolve(a&&a.then?a.then(o):o())}catch(t){return Promise.reject(t)}},r.Send=function(t){var r=t.recipients,n=t.messages,s=t.encodings,o=t.uids,i=t.udhs;try{if(!r||!n)throw new c(void 0,"recipients and messages should not be empty");if("string"==typeof r&&(r=[r]),"string"==typeof n&&(n=[n]),!n.length||r.length!==n.length&&1!==n.length)throw new c(void 0,"recipients and messages should have the same length");var u=Array(r.length).fill(this.from);return s&&!Array.isArray(s)&&(s=Array(r.length).fill(s)),Promise.resolve(this.Api("send","POST",{recipients:r,messages:n,senders:u,encodings:s,uids:o,udhs:i})).then(function(t){var r=[],n=0,s=0;return t.messages.map(function(t){if(0===t.status){var o=e({},t,{message:"پیام با موفقیت رسید"});r.push(o),n++}else{var i=e({},t,{message:a(t.status)});r.push(i),s++}}),e({},t,{messages:r,count:{success:n,fail:s}})})}catch(t){return Promise.reject(t)}},r.Statuses=function(t){try{return Promise.resolve(this.Api("statuses/"+t.join(",")))}catch(t){return Promise.reject(t)}},r.Mid=function(t){try{return Promise.resolve(this.Api("mid/"+t)).then(function(t){return e({},t,{mid:t.mid||void 0})})}catch(t){return Promise.reject(t)}},r.Balance=function(){try{return Promise.resolve(this.Api("balance"))}catch(t){return Promise.reject(t)}},r.ReceivedMessages=function(t){void 0===t&&(t=100);try{return Promise.resolve(this.Api("messages/"+t))}catch(t){return Promise.reject(t)}},t}(),c=/*#__PURE__*/function(t){var e,r;function s(e,r){var n,s,o;return e&&Object.keys(h).includes(""+e)?(s=a(e),o=e):(s=r||"Unknown Magfa error",o=void 0),(n=t.call(this,s)||this).status=void 0,n.message=s,n.status=o,n}return r=t,(e=s).prototype=Object.create(r.prototype),e.prototype.constructor=e,n(e,r),s}(/*#__PURE__*/s(Error));function a(t){return 0===t?"success":Object.keys(h).includes(""+t)?h[t]:""}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 با طول آرایه گیرندگان تطابق ندارد"},f=((o={})[-1]="شناسه موجود نیست (شناسه نادرست یا گذشت بیش از ۲۴ ساعت از ارسال پیامک)",o[0]="وضعیتی دریافت نشده",o[1]="رسیده به گوشی",o[2]="نرسیده به گوشی",o[8]="رسیده به مخابرات",o[16]="نرسیده به مخابرات",o);export{a as GetStatusText,u as Magfa,c as MagfaError,u as default,h as magfaErrors,f as messageStatuses};
//# sourceMappingURL=magfa.mjs.map