Product catalog
Read every product listing you have access to within your organization, along with the brands each listing is mapped to.
Uses getOrganization.partnerSellableUnitsAggregated, a standard paged query:
pass page to control the page size, read pageInfo to know when to stop (see
Pagination).
A listing is one product as a partner reports it, so the same unitId recurs
once per partner that carries it — a product sold on both Target Stores and
Target.com appears twice. Treat unitId as unique per partner, not per
organization.
| Field | Description |
|---|---|
unitId | The partner's identifier for the listing |
name | Product listing name |
dataSource.partner.id | ID of the channel the listing came from |
dataSource.partner.name | Name of the channel the listing came from |
dataSource.partnerCompanyId | The partner account the listing belongs to |
mappings | One entry per brand the listing is mapped to. Empty when the listing is unmapped |
mappings[].id | Internal ID of the listing for that brand |
mappings[].company.id | ID of the mapped brand |
mappings[].company.name | Name of the mapped brand |
pageInfo.totalCount | Total number of listings (standard pagination) |
pageInfo.hasNextPage | Whether another page remains (standard pagination) |
query OrganizationProductCatalog($organizationId: ID!, $page: PaginationInput) {
getOrganization(id: $organizationId) {
id
partnerSellableUnitsAggregated(page: $page) {
items {
unitId
name
dataSource {
partner {
id
name
}
partnerCompanyId
}
mappings {
id
company {
id
name
}
}
}
pageInfo {
totalCount
hasNextPage
}
}
}
}
Variables
{
"organizationId": "<ORGANIZATION_ID>",
"page": {
"limit": 25
}
}
Response
{
"data": {
"getOrganization": {
"id": "<ORGANIZATION_ID>",
"partnerSellableUnitsAggregated": {
"items": [
{
"unitId": "012-34-5678",
"name": "Product Listing Name",
"dataSource": {
"partner": {
"id": "0e52f800-e355-492b-99e2-e91d524302b1",
"name": "Target Stores"
},
"partnerCompanyId": "99999999"
},
"mappings": [
{
"id": "uuid",
"company": {
"id": "uuid",
"name": "Brand"
}
}
]
}
],
"pageInfo": {
"totalCount": 100,
"hasNextPage": true
}
}
}
}
}