defmodule Xend.Base do @moduledoc false use HTTPoison.Base @fb_page_access_token Application.get_env(:xend, :fb_page_access_token) @base_url "https://graph.facebook.com/v2.6/me/messages" def post(body) do payload = Poison.encode!(body) post!(url(), payload, headers()) |> process_response end def process_response_body(body), do: Poison.decode!(body) def process_response(%HTTPoison.Response{status_code: 200, body: body}), do: body def process_response(%HTTPoison.Response{status_code: code, body: body}), do: {code, body} defp headers(), do: ["Content-Type": "application/json"] defp url(), do: @base_url <> "?access_token=#{@fb_page_access_token}" end