ExUssd.Handler behaviour (ExUssd v0.1.6) View Source
This module provides callbacks to implement ExUssd handler.
Link to this section Summary
Callbacks
Examples
defmodule MyHomeHandler do
use ExUssd.Handler
def init(menu, _api_parameters) do
menu |> ExUssd.set(title: "Enter your pin number")
end
def callback(menu, api_parameters) do
case api_parameters.text == "5555" do
true ->
menu
|> ExUssd.set(title: "success, thank you.")
|> ExUssd.set(should_close: true)
_ ->
menu |> ExUssd.set(error: "Wrong pin number\n")
end
end
end
Link to this section Types
Specs
api_parameters() :: map()
Specs
metadata() :: map()
Specs
payload() :: {:ok, payload_value()} | {:error, payload_value()}
Specs
payload_value() :: %{menu: menu(), api_parameters: api_parameters()}
Link to this section Callbacks
Specs
Specs
callback(menu :: menu() | map(), api_parameters :: api_parameters()) :: menu()
Specs
callback( menu :: menu(), api_parameters :: api_parameters(), metadata :: metadata() ) :: menu()
Specs
init(menu :: menu(), api_parameters :: api_parameters()) :: menu()
Examples
defmodule MyHomeHandler do
use ExUssd.Handler
def init(menu, _api_parameters) do
menu |> ExUssd.set(title: "Enter your pin number")
end
def callback(menu, api_parameters) do
case api_parameters.text == "5555" do
true ->
menu
|> ExUssd.set(title: "success, thank you.")
|> ExUssd.set(should_close: true)
_ ->
menu |> ExUssd.set(error: "Wrong pin number\n")
end
end
end
Specs
init(menu :: menu(), api_parameters :: api_parameters(), metadata :: map()) :: menu()