shippex v0.8.0 Shippex.Service

A Service represents a carrier's offered shipping option. This is not initialized by the user directly. However, some convenience functions exist to display all offered carrier services to the user.

Service fields are:

  • id - A unique Shippex ID that can be used to perform lookups or fetch rates
  • carrier - The atom representing the carrier
  • code - Internally used by Shippex for API requests
  • description - A user-friendly string containing the name of the service

    Shippex.Service.services_for_carrier(:ups) [ %Shippex.Service{id: :ups_next_day_air, carrier: :ups, description: "UPS Next Day Air"}, %Shippex.Service{id: :ups_second_day_air, carrier: :ups, description: "UPS 2nd Day Air"}, %Shippex.Service{id: :ups_three_day_select, carrier: :ups, description: "UPS 3 Day Select"}, %Shippex.Service{id: :ups_ground, carrier: :ups, description: "UPS Ground"} ]

Link to this section Summary

Functions

Looks up a shipping service by its unique Shippex ID. Returns nil if none exist.

Returns all services for carrier based on the shipment provided.

Link to this section Types

Specs

t() :: %Shippex.Service{
  carrier: Shippex.Carrier.t(),
  description: String.t(),
  id: atom()
}

Link to this section Functions

Specs

get(atom()) :: t() | nil

Looks up a shipping service by its unique Shippex ID. Returns nil if none exist.

iex> Service.get(:usps_priority)
%Service{id: :usps_priority, carrier: :usps, description: "Priority Mail"}
iex> Service.get(:invalid_service)
nil
Link to this function

services_for_carrier(carrier, shipment)

Specs

services_for_carrier(Shippex.Carrier.t(), Shippex.Shipment.t()) :: [t()]

Returns all services for carrier based on the shipment provided.

Shippex.Service.services_for_carrier(:ups)