README.md

# Exbitly

An Elixir library to interact with the Bitly API.

## Installation

To use Exbitly, you first have to add it to your `mix.exs` dependencies.

```elixir
defp deps do
    [
      {:exbitly, "~> 0.1.0"}
    ]
end
```

After that, you have to create a `config` folder and a `config.exs` file inside that folder.
Then, pass the code below inside the `config.exs` file and add your token in it.

```elixir
import Config

config :exbitly,
  token: ""
```

Without the `config.exs` file, you won't be able to shorten URLs.

## Usage

You can use `shorten/2` to shorten a URL.

```elixir
Exbitly.shorten("bit.ly", "http://www.example.com")
# {:ok, "http://bit.ly/short_url"}

Exbitly.shorten("random", "http://www.example.com")
# {:error, %{
#   "description" => "The value provided is invalid.",
#   "errors" => [%{"error_code" => "invalid", "field" => "domain"}],
#   "message" => "INVALID_ARG_DOMAIN",
#   "resource" => "bitlinks"
# }}
```

If you prefer exceptions, you can always use `shorten!/2` instead of `shorten/2`.

```elixir
Exbitly.shorten!("bit.ly", "http://www.example.com")
# {:ok, "http://bit.ly/short_url"}

Exbitly.shorten!("random", "http://www.example.com")
# ** (Exbitly.Error) An error occured while shortening the URL. Message: INVALID_ARG_DOMAIN - Description: The value provided is invalid.
```

## License

Copyright (c) 2022-present Alim Arslan Kaya.

Exbitly is licensed under the MIT license.