Skip to content

Latest commit

 

History

History
66 lines (45 loc) · 1.58 KB

README.md

File metadata and controls

66 lines (45 loc) · 1.58 KB

ThreemaGateway Elixir

Work in progress unofficial Elixir SDK for the Threema Gateway API.

Warning

This SDK has not yet been tested against the Threema Gateway API.

The code is mostly based on the Rust SDK.

Supported Features

As mentioned above, the features have not been tested against the public Gateway API. They should work as they are for the most part a direct port of the Rust SDK.

Sending

  • Send simple messages
  • Send end-to-end encrypted messages

Encrypting

  • Encrypt raw bytes
  • Encrypt text messages
  • Encrypt image messages
  • Encrypt file messages
  • Encrypt delivery receipt messages

Receiving

  • Decode incoming request body
  • Verify MAC of incoming message
  • Decrypt incoming message
  • Decode incoming message

Files

  • Upload files
  • Download files

Lookup

  • Look up ID by phone number
  • Look up ID by e-mail
  • Look up ID by phone number hash
  • Look up ID by e-mail hash
  • Look up capabilities by ID
  • Look up public key by ID
  • Look up remaining credits

Installation

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

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

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