# `DripDrop.Channels.SMS.Local`
[🔗](https://github.com/agoodway/dripdrop/blob/v0.1.0/lib/dripdrop/channels/sms/local.ex#L1)

Local development SMS provider.

It validates and renders the same DripDrop SMS payload shape as networked SMS
providers, then returns a synthetic provider message id without making an
external request.

# `deliver`

```elixir
@spec deliver(map(), map(), map()) :: {:ok, map()} | {:error, map()}
```

Delivers a step for this provider.

# `validate_credentials`

```elixir
@spec validate_credentials(map()) :: :ok | {:error, [{atom(), binary()}]}
```

Validates provider credentials against the required credential list.

# `verify_signature`

```elixir
@spec verify_signature(map(), map()) :: :ok | {:error, term()}
```

Verifies a provider webhook signature.

# `webhook_routes`

```elixir
@spec webhook_routes(map()) :: [DripDrop.Channel.webhook_route()]
```

Returns provider webhook routes.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
