Google Tag Manager - v1.0.0
Data Objects
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: ContainerDataworkspace: WorkspaceDatatagCount: inttriggerCount: intvariableCount: intlatestVersion: ?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.