{"id":18103297,"url":"https://github.com/johnhamelink/sms_blitz","last_synced_at":"2025-07-26T05:10:29.409Z","repository":{"id":57549764,"uuid":"55375590","full_name":"johnhamelink/sms_blitz","owner":"johnhamelink","description":"Send SMS messages through multiple different providers","archived":false,"fork":false,"pushed_at":"2019-02-14T09:23:56.000Z","size":62,"stargazers_count":31,"open_issues_count":1,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-30T19:52:06.903Z","etag":null,"topics":["elixir","elixir-lang","itagg","nexmo","phoenix","plivo","sms-api","sms-blitz","sms-messages","telecom","telephony","twilio"],"latest_commit_sha":null,"homepage":"https://hex.pm/packages/sms_blitz","language":"Elixir","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/johnhamelink.png","metadata":{"files":{"readme":"README.md","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-04-04T00:10:15.000Z","updated_at":"2023-03-30T11:40:00.000Z","dependencies_parsed_at":"2022-09-26T18:41:46.460Z","dependency_job_id":null,"html_url":"https://github.com/johnhamelink/sms_blitz","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/johnhamelink/sms_blitz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhamelink%2Fsms_blitz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhamelink%2Fsms_blitz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhamelink%2Fsms_blitz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhamelink%2Fsms_blitz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnhamelink","download_url":"https://codeload.github.com/johnhamelink/sms_blitz/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhamelink%2Fsms_blitz/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267122531,"owners_count":24039446,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["elixir","elixir-lang","itagg","nexmo","phoenix","plivo","sms-api","sms-blitz","sms-messages","telecom","telephony","twilio"],"created_at":"2024-10-31T22:11:41.473Z","updated_at":"2025-07-26T05:10:29.352Z","avatar_url":"https://github.com/johnhamelink.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SmsBlitz\n[![Build Status](https://travis-ci.org/johnhamelink/sms_blitz.svg?branch=master)](https://travis-ci.org/johnhamelink/sms_blitz)\n\nSmsBlitz is a library for elixir that allows you to send SMS messages through multiple different providers.\n\nSmsBlitz provides a generic behaviour to make it easy to write conforming client libraries, while also making it simple for developers to choose which provider to use (you could use [ex_phone_number](https://github.com/socialpaymentsbv/ex_phone_number) to detect the destination country and use the cheapest provider for that country, for example).\n\n## Installation\n\nIf [available in Hex](https://hex.pm/docs/publish), the package can be installed as:\n\n  1. Add sms_blitz to your list of dependencies in `mix.exs`:\n  \n```elixir\n        def deps do\n          [{:sms_blitz, \"~\u003e 0.1.1\"}]\n        end\n```\n\n  2. Ensure sms_blitz is started before your application:\n  \n```elixir\n        def application do\n          [applications: [:sms_blitz]]\n        end\n```\n\n## Setup\n\nSetting up with SmsBlitz is easy. You simply add the authentication details for the providers you want to use into to your config:\n\n```elixir\nconfig :sms_blitz, plivo: {\"api_token\", \"api_key\"}\nconfig :sms_blitz, itagg: {\"username\", \"password\", \"route\"}\nconfig :sms_blitz, twilio: {\"account_sid\", \"auth_token\"}\nconfig :sms_blitz, nexmo: {\"account_key\", \"account_secret\"}\n```\n\nYou can find out which adapters are available like so (note that the list of adapters is not the same as the list of adapters which has been configured correctly!):\n\n```elixir\nSmsBlitz.adapters\n# [:plivo, :itagg, :twilio, :nexmo]\n```\n\nThen you can send the SMS to the provider as simply as this:\n\n```elixir\nSmsBlitz.send_sms(:adapter, from: \"Johnny\", to: \"07123456789\", message: \"Here's Johnny!\")\n```\n\nWhere `:adapter` is the adapter you've chosen from the list.\n\n\nThe output of the `send_sms/2` command above will either be like:\n\n```elixir\n%{\n  id: \"id here\",\n  result_string: \"Things went well\",\n  status_code: \"1337\"\n}\n```\n\nOr an Array of maps formatted as above. **It's important that you handle both types of responses!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnhamelink%2Fsms_blitz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnhamelink%2Fsms_blitz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnhamelink%2Fsms_blitz/lists"}