ExAliyunOpenapi

Description

ExAliyunOpenapi supports aliyun openapis:

  • CPS(移动推送服务)
  • STS(短期访问权限管理)
  • SMS(短信服务)
  • more to be supported

Installation

If available in Hex, the package can be installed by adding ex_aliyun_openapi to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_aliyun_openapi, "~> 0.1.0"}
  ]
end

Configuration

You should add configs for your services in this way.

config :ex_aliyun_openapi, :cps,
  access_key_id: "YOUR CPS ACCESS KEY ID",
  access_key_secret: "YOUR CPS ACCESS KEY SECRET"

config :ex_aliyun_openapi, :sts,
  access_key_id: "YOUR STS ACCESS KEY ID",
  access_key_secret: "YOUR STS ACCESS KEY SECRET"

config :ex_aliyun_openapi, :sms,
  access_key_id: "YOUR SMS ACCESS KEY ID",
  access_key_secret: "YOUR SMS ACCESS KEY SECRET"

Call the apis

You can find the api params in https://help.aliyun.com. Then you can choose the service, and just put the params to it.

params = %{
  "Action" => "AssumeRole",
  "RoleArn" => "**YOUR RoleArn**",
  "RoleSessionName" => "default",
  "DurationSeconds" => 3600,
}
ExAliyunOpenapi.call_sts(params)
params = %{
  "Action" => "PushNoticeToAndroid",
  "AppKey" => "**YOUR AppKey**",
  "Target" => "DEVICE",
  "TargetValue" => "**YOUR device_id**",
  "Title" => "TEST title",
  "Body" => "Hello, this is the notice body"
}
assert {:ok, _} = ExAliyunOpenapi.call_cps(params)

To add more services to this repo

You should add the service client to http.ex. Then add the common params and url to middleware.ex.


Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/ex_aliyun_openapi.