{"id":18653288,"url":"https://github.com/secrethash/smsg","last_synced_at":"2025-04-11T16:32:21.810Z","repository":{"id":62541780,"uuid":"62715318","full_name":"secrethash/smsg","owner":"secrethash","description":"A Laravel Package for sending SMS using popular APIs.","archived":false,"fork":false,"pushed_at":"2017-10-10T03:41:01.000Z","size":18,"stargazers_count":35,"open_issues_count":1,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-25T16:11:10.556Z","etag":null,"topics":["balance","laravel","laravel-5-package","messaging","package","purchase","sms","sms-api","verification"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/secrethash.png","metadata":{"files":{"readme":"README.html","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-06T11:17:23.000Z","updated_at":"2023-05-04T20:38:51.000Z","dependencies_parsed_at":"2022-11-02T15:33:17.248Z","dependency_job_id":null,"html_url":"https://github.com/secrethash/smsg","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secrethash%2Fsmsg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secrethash%2Fsmsg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secrethash%2Fsmsg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secrethash%2Fsmsg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secrethash","download_url":"https://codeload.github.com/secrethash/smsg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247953106,"owners_count":21023947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["balance","laravel","laravel-5-package","messaging","package","purchase","sms","sms-api","verification"],"created_at":"2024-11-07T07:11:02.789Z","updated_at":"2025-04-11T16:32:21.570Z","avatar_url":"https://github.com/secrethash.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eREADME\u003c/title\u003e\n\u003clink rel=\"stylesheet\" href=\"https://stackedit.io/res-min/themes/base.css\" /\u003e\n\u003cscript type=\"text/javascript\" src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML\"\u003e\u003c/script\u003e\n\u003c/head\u003e\n\u003cbody\u003e\u003cdiv class=\"container\"\u003e\u003chr\u003e\n\n\n\n\u003ch1 id=\"smsg-sms-package\"\u003eSMSG - SMS Package\u003c/h1\u003e\n\n\u003chr\u003e\n\n\u003cp\u003e\u003cdiv class=\"toc\"\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#smsg-sms-package\"\u003eSMSG - SMS Package\u003c/a\u003e\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#introduction\"\u003eIntroduction\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#install\"\u003eInstall\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#setup\"\u003eSetup\u003c/a\u003e\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#step-1-service-provider\"\u003eStep 1: Service Provider\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#step-2-facade\"\u003eStep 2: Facade\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#step-3-configuration\"\u003eStep 3: Configuration\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#working-with-smsg\"\u003eWorking with SMSG\u003c/a\u003e\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#sending-message\"\u003eSending Message\u003c/a\u003e\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#parameters\"\u003eParameters:\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#winding-up-the-parameters\"\u003eWinding Up the Parameters:\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#checking-available-balance\"\u003eChecking Available Balance\u003c/a\u003e\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#parameters-1\"\u003eParameters:\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#winding-up-with-parameters\"\u003eWinding Up with Parameters\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#available-providers\"\u003eAvailable Providers\u003c/a\u003e\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#1-msg91-msg91com\"\u003e1. MSG91 (msg91.com)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#more-providers-coming-soon\"\u003eMore Providers Coming Soon!\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003c/p\u003e\n\n\u003chr\u003e\n\n\n\n\u003ch2 id=\"introduction\"\u003eIntroduction\u003c/h2\u003e\n\n\u003cblockquote\u003e\n  \u003cp\u003e\u003cstrong\u003e\u003cem\u003eDon’t go on the name. :P\u003c/em\u003e\u003c/strong\u003e. The name is just a mixture of SMS and MSG (seriously! :D ).\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\u003cp\u003eSMSG is a Messaging Package or SMS Package that was created for the ease of sending messages using the APIs of Popular Service Providers. SMSG was made keeping in mind the possibilities of SMS Technology.\u003c/p\u003e\n\n\u003cp\u003eIn today’s world the SMS have been depreciated from normal people’s life, but we Programmers and Coders have many possibilities with SMS Technology, still. SMS is very Important in our lives. See how below:\u003c/p\u003e\n\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSMS Verification:\u003c/strong\u003e SMS can be used as a method of verification of users over bots and also for valid phone numbers.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTransaction Summary:\u003c/strong\u003e Transaction Summary can be sent to the users to tell them about their most recent purchase.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePurchase Confirmation:\u003c/strong\u003e Purchase Confirmation Request codes can be sent to user’s mobile devices and requested on website. This can be used as 2-step Purchase Verification for users buying via their wallet credits.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMany More: \u003c/strong\u003e Possibilities are only limited by your thinking, therefore, expand and more possibilities will take birth.\u003c/li\u003e\n\u003c/ul\u003e\n\n\n\n\u003ch2 id=\"install\"\u003eInstall\u003c/h2\u003e\n\n\u003cp\u003eJust a one line \u003ccode\u003ecomposer\u003c/code\u003e command:\u003c/p\u003e\n\n\u003cp\u003e\u003ccode\u003ecomposer require secrethash/smsg\u003c/code\u003e\u003c/p\u003e\n\n\u003cblockquote\u003e\n  \u003cp\u003eThat’s It!\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\n\n\u003ch2 id=\"setup\"\u003eSetup\u003c/h2\u003e\n\n\u003cp\u003eSetting up \u003cstrong\u003eSMSG\u003c/strong\u003e is also not difficult. Just follow the below steps for successfully setting up the package.\u003c/p\u003e\n\n\u003chr\u003e\n\n\n\n\u003ch3 id=\"step-1-service-provider\"\u003eStep 1: Service Provider\u003c/h3\u003e\n\n\u003cp\u003eYou will have to add the \u003ccode\u003eSmsgServiceProvider\u003c/code\u003e in the Provider’s array:\u003c/p\u003e\n\n\u003cul\u003e\n\u003cli\u003eOpen \u003ccode\u003econfig\\app.php\u003c/code\u003e file.\u003c/li\u003e\n\u003cli\u003eFind \u003ccode\u003e'providers'\u003c/code\u003e array.\u003c/li\u003e\n\u003cli\u003eAt the end of the array add \u003ccode\u003eSecrethash\\Smsg\\SmsgServiceProvider::class,\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\n\n\u003ch3 id=\"step-2-facade\"\u003eStep 2: Facade\u003c/h3\u003e\n\n\u003cp\u003eThe working should always be easy, right? Facade makes it happen. After you register the SMSG’s Facade, you will be able to access it via \u003ccode\u003eSMSG\u003c/code\u003e facade directly. For example: \u003c/p\u003e\n\n\n\n\u003cpre class=\"prettyprint\"\u003e\u003ccode class=\"language-php hljs \"\u003eSMSG::showbal(\u003cspan class=\"hljs-string\"\u003e'msg91'\u003c/span\u003e); \u003cspan class=\"hljs-comment\"\u003e// outputs balance for MSG91.com\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003eLet’s set it up:\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e\n\n\u003cul\u003e\n\u003cli\u003eOpen \u003ccode\u003econfig\\app.php\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFind \u003ccode\u003e'aliases'\u003c/code\u003earray\u003c/li\u003e\n\u003cli\u003eAt the end add \u003ccode\u003e'SMSG'      =\u0026gt; Secrethash\\Smsg\\Facade\\Smsg::class,\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cblockquote\u003e\n  \u003cp\u003eHurrah!\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\n\n\u003ch3 id=\"step-3-configuration\"\u003eStep 3: Configuration\u003c/h3\u003e\n\n\u003cp\u003eYou will have to publish the SMSG’s Config File to get started with it. Run the Command:\u003c/p\u003e\n\n\u003cp\u003e\u003ccode\u003ephp artisan vendor:publish --provider=Secrethash\\Smsg\\SmsgServiceProvider\u003c/code\u003e\u003c/p\u003e\n\n\u003cp\u003eNow open the SMSG configuration file which must be at  \u003ccode\u003econfig\\smsg.php\u003c/code\u003e and edit according to your Provider and needs.\u003c/p\u003e\n\n\u003cblockquote\u003e\n  \u003cp\u003eDone! You are now ready to Rock ‘n Roll!\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\u003chr\u003e\n\n\n\n\u003ch2 id=\"working-with-smsg\"\u003eWorking with SMSG\u003c/h2\u003e\n\n\u003cp\u003eWorking is very easy with SMSG. There are certain functions that are needed to be triggered to get the desired work done. All the available functions are listed below:\u003c/p\u003e\n\n\u003chr\u003e\n\n\n\n\u003ch3 id=\"sending-message\"\u003eSending Message\u003c/h3\u003e\n\n\u003cp\u003eTo send a message using SMSG you just need to trigger the\u003ccode\u003eSMSG::send()\u003c/code\u003e function with the required parameters.\u003c/p\u003e\n\n\n\n\u003ch4 id=\"parameters\"\u003eParameters:\u003c/h4\u003e\n\n\u003col\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eMobile Number(s):\u003c/strong\u003e  It is the first parameter to be passed. There can be single mobile number or multiple mobile numbers. \u003cstrong\u003e\u003cem\u003eMultiple Mobile Numbers\u003c/em\u003e\u003c/strong\u003e should be separated by commas for eg: \u003ccode\u003e0123456789, 9876543210\u003c/code\u003e. \u003cbr\u003e\n\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003e\u003cem\u003eFIELD REQUIRED\u003c/em\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003cem\u003eMUST BE NUMBERS ONLY\u003c/em\u003e\u003c/strong\u003e \u003cbr\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cblockquote\u003e\n  \u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e Do Not provide multiple mobile numbers in an array. Separate it by commas only.\u003c/p\u003e\u003c/blockquote\u003e\u003c/li\u003e\n\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eSender ID:\u003c/strong\u003e The sender ID is the ID that is shown on the receiver’s mobile in place of a sender’s mobile number. For Eg: \u003ccode\u003eDM-SMSG\u003c/code\u003e. Sender ID should be in supplied in \u003cstrong\u003e\u003cem\u003ePlain Text Only\u003c/em\u003e\u003c/strong\u003e.\u003c/p\u003e\n\n\u003cul\u003e\u003cli\u003e\u003cstrong\u003e\u003cem\u003eFIELD REQUIRED\u003c/em\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003cem\u003ePLAIN TEXT ONLY\u003c/em\u003e\u003c/strong\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eMessage:\u003c/strong\u003e Message is basically the body of SMS that you want to send.\u003c/p\u003e\n\n\u003cul\u003e\u003cli\u003e\u003cstrong\u003e\u003cem\u003eFIELD REQUIRED\u003c/em\u003e\u003c/strong\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eProvider:\u003c/strong\u003e Provider is not important to be filled. If you want to use a different provider for a particular SMS then you should provide it’s valid ID as the Input for \u003cstrong\u003e4th Parameter\u003c/strong\u003e, otherwise the default provider will be used as defined in your \u003ccode\u003econfig\\smsg.php\u003c/code\u003e file. \u003cbr\u003e\n\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003e\u003cem\u003eNOT COMPULSORY\u003c/em\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003cem\u003eSHOULD BE A VALID PROVIDER ID\u003c/em\u003e\u003c/strong\u003e \u003cbr\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cblockquote\u003e\n  \u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e Find the Available Provider’s ID below.\u003c/p\u003e\u003c/blockquote\u003e\u003c/li\u003e\n\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eRoute:\u003c/strong\u003e Route is the passage of sending a message. Mostly, there are only 2 Routes:\u003c/p\u003e\n\n\u003col\u003e\u003cli\u003e\u003cem\u003eTransaction:\u003c/em\u003e It is a Passage for SMS that has higher delivery rate than others. This passage is for Transaction Related Messages, to send the user transaction summary or some other important message like Mobile Number Verification code. Many Provider prohibit Promotion Messages through Transaction Route. Sometimes account can also get suspended.\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePromotion:\u003c/em\u003e Route to send promotional messages like coupon codes. Sale Updates, News Updates, etc. This passage is mainly for less important messages. They are usually a little cheaper than Transactional SMS.\u003c/li\u003e\u003c/ol\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003chr\u003e\n\n\n\n\u003ch4 id=\"winding-up-the-parameters\"\u003eWinding Up the Parameters:\u003c/h4\u003e\n\n\u003cp\u003eHere is an example on feeding the parameters with Inputs:\u003c/p\u003e\n\n\n\n\u003cpre class=\"prettyprint\"\u003e\u003ccode class=\"language-php hljs \"\u003e\u003cspan class=\"hljs-preprocessor\"\u003e\u0026lt;?php\u003c/span\u003e\n\n\u003cspan class=\"hljs-keyword\"\u003enamespace\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eApp\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eHttp\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eControllers\u003c/span\u003e;\n\n\n\u003cspan class=\"hljs-keyword\"\u003euse\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eApp\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eHttp\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eControllers\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eController\u003c/span\u003e;\n\n\u003cspan class=\"hljs-keyword\"\u003euse\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eRequest\u003c/span\u003e;\n\n\u003cspan class=\"hljs-keyword\"\u003euse\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eSMSG\u003c/span\u003e;\n\n\n\u003cspan class=\"hljs-class\"\u003e\u003cspan class=\"hljs-keyword\"\u003eclass\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eSmsgDemoController\u003c/span\u003e \u003cspan class=\"hljs-keyword\"\u003eextends\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eController\u003c/span\u003e\n{\u003c/span\u003e\n    \u003cspan class=\"hljs-comment\"\u003e// Some Code\u003c/span\u003e\n        \u003cspan class=\"hljs-comment\"\u003e# More Code\u003c/span\u003e\n            \u003cspan class=\"hljs-variable\"\u003e$mobile\u003c/span\u003e = \u003cspan class=\"hljs-string\"\u003e'1234567890'\u003c/span\u003e;\n            \u003cspan class=\"hljs-variable\"\u003e$sender\u003c/span\u003e = \u003cspan class=\"hljs-string\"\u003e'SMSG'\u003c/span\u003e;\n            \u003cspan class=\"hljs-variable\"\u003e$msg\u003c/span\u003e = \u003cspan class=\"hljs-string\"\u003e'Hey, John Doe! Your Verification Code is: 7cx50S'\u003c/span\u003e;\n            \u003cspan class=\"hljs-variable\"\u003e$provider\u003c/span\u003e = \u003cspan class=\"hljs-string\"\u003e'msg91'\u003c/span\u003e;\n            \u003cspan class=\"hljs-variable\"\u003e$route\u003c/span\u003e = \u003cspan class=\"hljs-string\"\u003e'4'\u003c/span\u003e;\n            \u003cspan class=\"hljs-comment\"\u003e// Will also catch the output\u003c/span\u003e\n            \u003cspan class=\"hljs-variable\"\u003e$trigger\u003c/span\u003e = SMSG::send(\u003cspan class=\"hljs-variable\"\u003e$mobile\u003c/span\u003e, \u003cspan class=\"hljs-variable\"\u003e$sender\u003c/span\u003e, \u003cspan class=\"hljs-variable\"\u003e$msg\u003c/span\u003e, \u003cspan class=\"hljs-variable\"\u003e$provider\u003c/span\u003e, \u003cspan class=\"hljs-variable\"\u003e$route\u003c/span\u003e);\n \u003cspan class=\"hljs-keyword\"\u003eecho\u003c/span\u003e \u003cspan class=\"hljs-variable\"\u003e$trigger\u003c/span\u003e;\n }\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eTry it yourself.\u003c/p\u003e\n\n\u003chr\u003e\n\n\n\n\u003ch3 id=\"checking-available-balance\"\u003eChecking Available Balance\u003c/h3\u003e\n\n\u003cp\u003eCurrently all the Providers provide the possibility to check your balance virtually. With this function you can be updated to your balance with available balance on your dashboard. You can also work with this function to automate a reminder to your email or mobile, via sms, and never upset the client.\u003c/p\u003e\n\n\u003cp\u003eTo perform the check, use \u003ccode\u003eSMSG::showbal()\u003c/code\u003e. This will return the available balance in your account using the default provider and API key of default route.\u003c/p\u003e\n\n\u003cblockquote\u003e\n  \u003cp\u003eFeed the parameters with input to get more flexible data.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\n\n\u003ch4 id=\"parameters-1\"\u003eParameters:\u003c/h4\u003e\n\n\u003cblockquote\u003e\n  \u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e None of the below parameters are Compulsory.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eProvider:\u003c/strong\u003e If you want to check the balance of a different provider. Simply pass the provider’s name as input.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRoute:\u003c/strong\u003e Some Providers provide different balance for different routes. If you also want to know the balance of different route at the same time, trigger the function 2 time, once without feeding the input to this parameter and the second time by feeding the input.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAPI Key:\u003c/strong\u003e Know the balance of different account using the same installation and without editing the configuration.\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003chr\u003e\n\n\n\n\u003ch4 id=\"winding-up-with-parameters\"\u003eWinding Up with Parameters\u003c/h4\u003e\n\n\n\n\u003cpre class=\"prettyprint\"\u003e\u003ccode class=\"language-php hljs \"\u003e\u003cspan class=\"hljs-preprocessor\"\u003e\u0026lt;?php\u003c/span\u003e\n\n\u003cspan class=\"hljs-keyword\"\u003enamespace\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eApp\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eHttp\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eControllers\u003c/span\u003e;\n\n\n\u003cspan class=\"hljs-keyword\"\u003euse\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eApp\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eHttp\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eControllers\u003c/span\u003e\\\u003cspan class=\"hljs-title\"\u003eController\u003c/span\u003e;\n\n\u003cspan class=\"hljs-keyword\"\u003euse\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eRequest\u003c/span\u003e;\n\n\u003cspan class=\"hljs-keyword\"\u003euse\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eSMSG\u003c/span\u003e;\n\n\n\u003cspan class=\"hljs-class\"\u003e\u003cspan class=\"hljs-keyword\"\u003eclass\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eSmsgDemoController\u003c/span\u003e \u003cspan class=\"hljs-keyword\"\u003eextends\u003c/span\u003e \u003cspan class=\"hljs-title\"\u003eController\u003c/span\u003e\n{\u003c/span\u003e\n    \u003cspan class=\"hljs-variable\"\u003e$trigger\u003c/span\u003e = SMSG::showbal(\u003cspan class=\"hljs-string\"\u003e'msg91'\u003c/span\u003e, \u003cspan class=\"hljs-string\"\u003e'4'\u003c/span\u003e, \u003cspan class=\"hljs-string\"\u003e'XYZ_API_KEY'\u003c/span\u003e);\n     \u003cspan class=\"hljs-keyword\"\u003eecho\u003c/span\u003e \u003cspan class=\"hljs-variable\"\u003e$trigger\u003c/span\u003e; \n     \u003cspan class=\"hljs-comment\"\u003e// Outputs the balance of Transaction route of user with API XYZ_API_KEY on MSG91.com\u003c/span\u003e\n }\u003c/code\u003e\u003c/pre\u003e\n\n\n\n\u003ch2 id=\"available-providers\"\u003eAvailable Providers\u003c/h2\u003e\n\n\n\n\u003ch3 id=\"1-msg91-msg91com\"\u003e1. MSG91 (\u003ca href=\"http://msg91.com/\"\u003emsg91.com\u003c/a\u003e)\u003c/h3\u003e\n\n\u003cp\u003eMSG91 is a SMS Service Provider. They have a great set of REST APIs that gives the flexibility in each and every thing. The Robust API is perfect for an app to that sends a large number of request. APIs are Fast and the Delivery System is also quick.\u003c/p\u003e\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n  \u003cth\u003eFunction Supported\u003c/th\u003e\n  \u003cth\u003eDescription\u003c/th\u003e\n  \u003cth align=\"right\"\u003eProvider ID\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n  \u003ctd\u003e\u003ccode\u003esend()\u003c/code\u003e\u003c/td\u003e\n  \u003ctd\u003eSends the message\u003c/td\u003e\n  \u003ctd align=\"right\"\u003e\u003cstrong\u003e\u003cem\u003emsg91\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd\u003e\u003ccode\u003eshowbal()\u003c/code\u003e\u003c/td\u003e\n  \u003ctd\u003eChecks the available balance\u003c/td\u003e\n  \u003ctd align=\"right\"\u003e\u003cstrong\u003e\u003cem\u003emsg91\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\n\n\u003chr\u003e\n\n\u003chr\u003e\n\n\u003cblockquote\u003e\n  \u003ch3 id=\"more-providers-coming-soon\"\u003eMore Providers Coming Soon!\u003c/h3\u003e\n\u003c/blockquote\u003e\n\n\u003chr\u003e\n\n\u003chr\u003e\u003c/div\u003e\u003c/body\u003e\n\u003c/html\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecrethash%2Fsmsg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecrethash%2Fsmsg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecrethash%2Fsmsg/lists"}