Inttegro.Products.Product (inttegro v0.2.0)

Copy Markdown View Source

A reusable catalog item with descriptive attributes, media, shipment behavior, and prices.

Product publication determines whether new purchasing surfaces may offer it. Existing order line items retain their captured commercial data even if the product later changes.

Summary

Types

t()

The decoded product value.

Functions

Builds a Inttegro.Products.Product and raises KeyError when a required field is missing.

Types

t()

@type t() :: %Inttegro.Products.Product{
  about: String.t() | nil,
  active: boolean(),
  archived_at: String.t() | nil,
  attributes: [Inttegro.Products.Attribute.t()] | nil,
  category: String.t() | nil,
  created_at: String.t(),
  custom_data: %{optional(String.t()) => String.t()} | nil,
  description: String.t() | nil,
  dimensions: Inttegro.Products.Dimensions.t() | nil,
  id: String.t(),
  media: Inttegro.Products.Media.t() | nil,
  name: String.t(),
  prices: [Inttegro.Products.PriceSummary.t()] | nil,
  published_at: String.t() | nil,
  reference: String.t() | nil,
  shipment: Inttegro.Products.Shipment.t() | nil,
  tax_code: String.t() | nil,
  type: Inttegro.Products.Type.t(),
  unit_dim: String.t() | nil,
  updated_at: String.t() | nil
}

The decoded product value.

Functions

new!(attrs \\ %{})

@spec new!(map() | keyword()) :: t()

Builds a Inttegro.Products.Product and raises KeyError when a required field is missing.