ArtisanPack UI
DocsGoogle Tag ManagerData Objects

Data Objects

Google Tag Manager v1.0.0

Typed DTOs under . All are immutable value objects with public readonly properties. Returned by list methods. | Class | Fields | |---|---| | | , , | | | ...

Typed DTOs under ArtisanPackUI\GoogleTagManager\Api\. All are immutable value objects with public readonly properties.

Primitive DTOs

Returned by TagManagerClient list methods.

Class Fields
AccountData accountId, name, path
ContainerData containerId, name, publicId, path, usageContext[]
WorkspaceData workspaceId, name, description, path
TagData accountId, containerId, workspaceId, tagId, name, type, status ('paused' when the upstream paused boolean is true, otherwise 'active'; constants TagData::STATUS_PAUSED and STATUS_ACTIVE), firingTriggerIds[], blockingTriggerIds[], raw (the untouched upstream row)
TriggerData triggerId, name, type
VariableData variableId, name, type
ContainerVersionHeaderData containerVersionId, name, deleted

Composed DTOs

Returned by the fetchers.

ContainerOverviewData

Fields:

  • container: ContainerData
  • workspace: WorkspaceData
  • tagCount: int
  • triggerCount: int
  • variableCount: int
  • latestVersion: ?ContainerVersionHeaderData

toArray() returns a stable snake-cased shape suitable for JSON output (null when the container has never been published).

TagListData

Fields:

  • tags: list<array{tagId,name,type,status,firingTriggers:list<{id,name}>,blockingTriggers:list<{id,name}>}>

The tag rows already have trigger names joined in — no follow-up call needed from the view layer. Missing triggers fall back to their ID as the name.

toArray() returns [ 'tags' => [...] ] for direct JSON responses.

Parsing

Every primitive DTO has a static fromArray() (or fromResponseRow()) constructor that accepts the raw upstream API row. The client uses these to build typed lists — you rarely need to call them directly, but they're useful when testing against captured API fixtures.

Stay in the Loop

Monthly tips, tutorials and package updates — plus a free Quick Start cheat sheet.

Subscribe
Edit this page on GitHub