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

Phoenix PubSub channel namespace and provider registration surface.

# `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*
