ExUssd (ExUssd v0.1.1) View Source
USSD interation
Link to this section Summary
Functions
Example
iex> ExUssd.end_session(session_id: "session_01")
{:error, :not_found}
Navigation
This a helper function that helps simulate ussd call
Link to this section Functions
Example
iex> ExUssd.end_session(session_id: "session_01")
{:error, :not_found}
Specs
goto( internal_routing: ExUssd.Ussd.internal_routing(), menu: ExUssd.Ussd.menu(), api_parameters: ExUssd.Ussd.api_parameters() ) :: any()
Navigation
Configuration
Add below config to dev.exs / prod.exs files
config.exs
config :ex_ussd :provider, AfricasTalking
Example
iex> ExUssd.goto(
...> internal_routing: %{text: "", session_id: "session_01", service_code: "*544#"},
...> menu: ExUssd.Menu.render(
...> name: "Home",
...> handler: fn menu, _api_parameters, _should_handle ->
...> menu |> Map.put(:title, "Home Page: Welcome")
...> end
...> ),
...> api_parameters: %{
...> "sessionId" => "session_01",
...> "phoneNumber" => "254722000000",
...> "networkCode" => "Safaricom",
...> "serviceCode" => "*544#",
...> "text" => ""
...> }
...> )
{:ok, "CON Home Page: Welcome"}
This a helper function that helps simulate ussd call
Example
iex> ExUssd.simulate(menu: ExUssd.Menu.render(
...> name: "Home",
...> handler: fn menu, _api_parameters, _should_handle ->
...> menu
...> |> Map.put(:title, "Welcome")
...> end
...>),
...> text: "")
{:ok, "Welcome"}