Mexpanel
July 8, 2019 ยท View on GitHub
API wrapper for Mixpanel
Installation
If available in Hex, the package can be installed
by adding mexpanel to your list of dependencies in mix.exs:
def deps do
[
{:mexpanel, "~> 0.1.0"}
]
end
Usage
Mixpanel provides 2 endpoints: track and engage.
For both these endpoints, this library provides a struct with builder functions. The new function expects all mandatory parameters, additional properties can be set with functions
Track
alias Mexpanel.TrackRequest
track = TrackRequest.new("123", "user signed up", %{name: "Leif Gensert"})
|> TrackRequest.time(DateTime.utc_now())
|> TrackRequest.ip("144.10.58.141")
|> TrackRequest.distinct_id("user:1")
Mexpanel.request(track)
Engage
For the engage endpoint you will need to specify an operation. See the official documentation for all available operations.
alias Mexpanel.EngageRequest
engage = EngageRequest.new("123", "user:1")
|> EngageRequest.time(DateTime.utc_now())
|> EngageRequest.ip("144.10.58.141")
|> EngageRequest.set(%{name: "Leif Gensert"})
Mexpanel.request(engage)