Product
extends DomainValue
in package
Product details associated with purchase intent.
This immutable value hydrates decoded API snake_case data into typed camelCase properties.
Use fromArray() for wire data; toArray(), array access, and JSON serialization expose the API
wire representation. Nullable properties correspond to optional API fields.
Tags
Table of Contents
Properties
- $about : string|null
- Full product description.
- $active : bool
- Whether product is published and available.
- $archivedAt : DateTimeImmutable|null
- Archive timestamp (if archived).
- $attributes : array<int, ProductAttributesItem>|null
- Product attributes.
- $category : string|null
- Product category.
- $createdAt : DateTimeImmutable
- Product creation timestamp.
- $customData : CustomData|null
- Merchant-defined string values attached to a resource. SDKs expose this as a semantic collection rather than a raw map.
- $description : string|null
- Short description.
- $dimensions : Dimensions|null
- At most one of `physical`, `digital`, or `custom`.
- $id : string
- Unique product identifier with prod_ prefix.
- $media : Media|null
- Media value for this product.
- $name : string
- Product name.
- $prices : array<int, PriceSummary>|null
- Non-archived prices that belong to this product.
- $publishedAt : DateTimeImmutable|null
- When the product was published.
- $reference : string|null
- External reference or SKU.
- $shipment : Shipment|null
- Shipment value for this product.
- $taxCode : string|null
- Tax classification code.
- $type : string
- Product type.
- $unitDim : string|null
- Unit dimension label.
- $updatedAt : DateTimeImmutable|null
- Last update timestamp.
- $variantSetId : string|null
- Identifier of the related variant set.
Methods
- __construct() : mixed
- Hydrates a Product from decoded Inttegro API data.
- fromArray() : static
- Creates a Product from its decoded API wire representation.
- jsonSerialize() : array<string, mixed>
- Returns the same API wire object as `toArray()` for `json_encode()`.
- offsetExists() : bool
- Reports whether a non-null property exists for a PHP or API field name.
- offsetGet() : mixed
- Reads a typed property through PHP `ArrayAccess`.
- offsetSet() : void
- Rejects mutation because domain values are immutable.
- offsetUnset() : void
- Rejects unsetting because domain values are immutable.
- toArray() : array<string, mixed>
- Converts typed properties back to the API's wire representation.
Properties
$about read-only
Full product description.
public
string|null
$about
Optional response field. PHP type: string|null; wire field: about (string).
$active read-only
Whether product is published and available.
public
bool
$active
Required response field. PHP type: bool; wire field: active (boolean).
$archivedAt read-only
Archive timestamp (if archived).
public
DateTimeImmutable|null
$archivedAt
Optional response field. PHP type: DateTimeImmutable|null; wire field: archived_at
(ISO-8601 string with UTC offset).
The SDK parses the offset-bearing timestamp into an immutable PHP date-time value.
$attributes read-only
Product attributes.
public
array<int, ProductAttributesItem>|null
$attributes
Optional response field. PHP type:
list<\Inttegro\PurchaseIntent\ProductAttributesItem>|null; wire field: attributes
(array<object>).
When the field is absent, the SDK exposes an empty collection.
$category read-only
Product category.
public
string|null
$category
Optional response field. PHP type: string|null; wire field: category (string).
$createdAt read-only
Product creation timestamp.
public
DateTimeImmutable
$createdAt
Required response field. PHP type: DateTimeImmutable; wire field: created_at (ISO-8601 string with UTC offset).
The SDK parses the offset-bearing timestamp into an immutable PHP date-time value.
$customData read-only
Merchant-defined string values attached to a resource. SDKs expose this as a semantic collection rather than a raw map.
public
CustomData|null
$customData
Optional response field. PHP type: \Inttegro\CustomData|null; wire field: custom_data
(object).
$description read-only
Short description.
public
string|null
$description
Optional response field. PHP type: string|null; wire field: description (string).
$dimensions read-only
At most one of `physical`, `digital`, or `custom`.
public
Dimensions|null
$dimensions
Optional response field. PHP type: \Inttegro\Product\Dimensions|null; wire field:
dimensions (object).
$id read-only
Unique product identifier with prod_ prefix.
public
string
$id
Required response field. PHP type: string; wire field: id (string).
$media read-only
Media value for this product.
public
Media|null
$media
Optional response field. PHP type: \Inttegro\Product\Media|null; wire field: media
(object).
$name read-only
Product name.
public
string
$name
Required response field. PHP type: string; wire field: name (string).
$prices read-only
Non-archived prices that belong to this product.
public
array<int, PriceSummary>|null
$prices
Optional response field. PHP type: list<\Inttegro\Product\PriceSummary>|null; wire field:
prices (array<object>).
When the field is absent, the SDK exposes an empty collection.
$publishedAt read-only
When the product was published.
public
DateTimeImmutable|null
$publishedAt
Optional response field. PHP type: DateTimeImmutable|null; wire field: published_at
(ISO-8601 string with UTC offset).
The SDK parses the offset-bearing timestamp into an immutable PHP date-time value.
$reference read-only
External reference or SKU.
public
string|null
$reference
Optional response field. PHP type: string|null; wire field: reference (string).
$shipment read-only
Shipment value for this product.
public
Shipment|null
$shipment
Optional response field. PHP type: \Inttegro\Product\Shipment|null; wire field: shipment
(object).
$taxCode read-only
Tax classification code.
public
string|null
$taxCode
Optional response field. PHP type: string|null; wire field: tax_code (string).
$type read-only
Product type.
public
string
$type
Required response field. PHP type: string; wire field: type (string).
$unitDim read-only
Unit dimension label.
public
string|null
$unitDim
Optional response field. PHP type: string|null; wire field: unit_dim (string).
$updatedAt read-only
Last update timestamp.
public
DateTimeImmutable|null
$updatedAt
Optional response field. PHP type: DateTimeImmutable|null; wire field: updated_at
(ISO-8601 string with UTC offset).
The SDK parses the offset-bearing timestamp into an immutable PHP date-time value.
$variantSetId read-only
Identifier of the related variant set.
public
string|null
$variantSetId
Optional response field. PHP type: string|null; wire field: variant_set_id (string).
Methods
__construct()
Hydrates a Product from decoded Inttegro API data.
public
__construct(array<string, mixed> $data) : mixed
Parameters
- $data : array<string, mixed>
-
Wire object keyed by
snake_caseAPI field names.
fromArray()
Creates a Product from its decoded API wire representation.
public
static fromArray(array<string, mixed> $data) : static
Parameters
- $data : array<string, mixed>
-
Wire object keyed by
snake_caseAPI field names.
Return values
static —A typed, immutable Product value.
jsonSerialize()
Returns the same API wire object as `toArray()` for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Return values
array<string, mixed>offsetExists()
Reports whether a non-null property exists for a PHP or API field name.
public
offsetExists(mixed $offset) : bool
Both paymentId and payment_id address the same typed property.
Parameters
- $offset : mixed
-
PHP
camelCaseor wiresnake_casefield name.
Return values
booloffsetGet()
Reads a typed property through PHP `ArrayAccess`.
public
offsetGet(mixed $offset) : mixed
Parameters
- $offset : mixed
-
PHP
camelCaseor wiresnake_casefield name.
Return values
mixed —The PHP-native property value.
offsetSet()
Rejects mutation because domain values are immutable.
public
offsetSet(mixed $offset, mixed $value) : void
Parameters
- $offset : mixed
-
Ignored field name.
- $value : mixed
-
Ignored replacement value.
Tags
offsetUnset()
Rejects unsetting because domain values are immutable.
public
offsetUnset(mixed $offset) : void
Parameters
- $offset : mixed
-
Ignored field name.
Tags
toArray()
Converts typed properties back to the API's wire representation.
public
toArray() : array<string, mixed>
Property names become snake_case. Nested values, arrays, backed enums, and timestamps are
normalized recursively so the result is safe to pass to json_encode().
Return values
array<string, mixed> —The recursively normalized API object.