# `Money.ExchangeRates.Callback`
[🔗](https://github.com/ex-money/money/blob/v6.2.0/lib/money/exchange_rates/callback.ex#L1)

Default exchange rates retrieval callback module.

When exchange rates are successfully retrieved, the function
`latest_rates_retrieved/2` or `historic_rates_retrieved/2` is
called to perform any desired serialization or processing.

# `historic_rates_retrieved`

```elixir
@callback historic_rates_retrieved(%{}, Date.t()) :: :ok
```

Invoked after historic exchange rates for a given date have been successfully
retrieved. Use this callback to perform any desired side effects such as
persisting rates to a database.

# `latest_rates_retrieved`

```elixir
@callback latest_rates_retrieved(%{}, DateTime.t()) :: :ok
```

Invoked after the latest exchange rates have been successfully retrieved.
Use this callback to perform any desired side effects such as persisting
rates to a database.

# `historic_rates_retrieved`

```elixir
@spec historic_rates_retrieved(%{}, Date.t()) :: :ok
```

Callback function invoked when historic exchange rates are retrieved.

# `latest_rates_retrieved`

```elixir
@spec latest_rates_retrieved(%{}, DateTime.t()) :: :ok
```

Callback function invoked when the latest exchange rates are retrieved.

---

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