Inttegro PHP SDK

Product extends DomainValue
in package

FinalYes

A catalog product, including merchandising details, prices, media, delivery configuration, and lifecycle state.

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
see
DomainValue

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, Attribute>|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.

Methods

__construct()  : mixed
Hydrates a Product from decoded Inttegro API data.
fromArray()  : static
Creates a Product from its decoded API wire representation.
isArchived()  : bool
Reports whether the resource has been archived.
isPublished()  : bool
Reports whether the product is active and not archived.
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.
wasEverPublished()  : bool
Reports whether the product has a publication timestamp.

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, Attribute>|null $attributes

Optional response field. PHP type: list<\Inttegro\Product\Attribute>|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). Compare against Type cases by using their ->value strings.

$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.

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_case API 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_case API field names.

Return values
static —

A typed, immutable Product value.

isArchived()

Reports whether the resource has been archived.

public isArchived() : bool
Return values
bool

isPublished()

Reports whether the product is active and not archived.

public isPublished() : bool
Return values
bool

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 camelCase or wire snake_case field name.

Return values
bool

offsetGet()

Reads a typed property through PHP `ArrayAccess`.

public offsetGet(mixed $offset) : mixed
Parameters
$offset : mixed

PHP camelCase or wire snake_case field 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
throws
LogicException

Always.

offsetUnset()

Rejects unsetting because domain values are immutable.

public offsetUnset(mixed $offset) : void
Parameters
$offset : mixed

Ignored field name.

Tags
throws
LogicException

Always.

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.

wasEverPublished()

Reports whether the product has a publication timestamp.

public wasEverPublished() : bool
Return values
bool
On this page

Search results