Packages

An Elixir SDK for Porter's delivery API, providing a simple and reliable way to integrate Porter's logistics services into your Elixir applications. Features include getting delivery quotes, creating and managing delivery orders, and real-time order tracking.

Current section

Files

Jump to
ex_porter_sdk lib order impl.ex
Raw

lib/order/impl.ex

defmodule ExPorterSDK.Order.Impl do
alias ExPorterSDK.ErrorHandler
def create(params) do
config = ExPorterSDK.Config.get()
Req.post(config.base_url <> "/v1/orders/create",
json: params,
headers: [{"x-api-key", config.api_key}]
)
|> ErrorHandler.handle_response()
end
def track(order_id) do
config = ExPorterSDK.Config.get()
Req.get(config.base_url <> "/v1/orders/#{order_id}",
headers: [{"x-api-key", config.api_key}]
)
|> ErrorHandler.handle_response()
end
def cancel(order_id) do
config = ExPorterSDK.Config.get()
Req.post(config.base_url <> "/v1/orders/#{order_id}/cancel",
headers: [{"x-api-key", config.api_key}]
)
|> ErrorHandler.handle_response()
end
end