Current section
Files
Jump to
Current section
Files
lib/wechat/template.ex
defmodule ExWechat.Template do
@moduledoc """
Template APIs
"""
alias ExWechat.Util
@doc """
fetch all private templates
"""
def query do
"https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=#{ExWechat.token}"
|> HTTPoison.get
|> Util.parse_resp
|> Util.check_wechat_resp
end
@doc """
send template message
"""
def send(uid, template, message, url \\ nil) do
data = message
|> Enum.reduce(%{}, fn({k,v}, acc) ->
acc |> Map.put(k, %{value: v})
end)
content = do_make_content url,
%{
touser: uid,
template_id: template,
data: data
}
"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=#{ExWechat.token}"
|> HTTPoison.post(Poison.encode!(content))
|> Util.parse_resp
|> Util.check_wechat_resp
end
defp do_make_content(nil, content), do: content
defp do_make_content(url, content), do: content |> Map.put(:url, url)
end