GET/api/v4/locations/{locationId}/bulk-posts

Buscar publicações em massa para um local

Retorna uma página de campanhas de publicações em massa (para vários locais) que incluem um único local.

Requer uma chave de API. Consulte Autenticação para ver o formato do cabeçalho e a rotação de chaves.

Parâmetros

Caminho

NomeTipoObrigatórioDescrição
locationIdstringobrigatórioBase64-encoded location cursor / global ID (e.g. `TG9jYXRpb246MTgwMDI4OQ==`). Pass it unchanged, do not URL-encode it. The base64 cursor always resolves; the raw numeric database ID also works on this endpoint, but the base64 form is the portable choice across the API.

Query

NomeTipoObrigatórioDescriçãoPadrão
pageintegeropcional1-based page number for offset pagination.1
perPageintegeropcionalNumber of records per page.—
filtersstringopcionalJSON-encoded SocialPostFiltersInput (e.g. by `type`, `status`, `creationDateRange`, `siteUrls`).—
sortFieldsstringopcionalJSON-encoded sort object `{ "field": "created_at", "order": "Descending" }`. `field` is one of name, type, status, created_at, schedule_start_date, schedule_end_date, client_name, clicks, views, shares.—
locationIdsstringopcionalJSON-encoded array of location IDs to include alongside the path location.—
componentIdentifierstringopcionalFilter to campaigns created by a specific component/integration.—

Respostas

200A page of bulk campaigns that include the location. `records` is empty when no bulk campaign has targeted it.
Response
{  "data": {    "rollupSocialPosts": {      "records": [        {          "id": "U29jaWFsUG9zdDo1MTA4OA==",          "name": "Diwali Offer - All Stores",          "status": "SUCCESS",          "type": "OFFER",          "createdAt": "2026-06-20",          "scheduledStartDate": "2026-06-22",          "scheduledEndDate": "2026-07-06",          "views": 4210,          "clicks": 318,          "shares": 12,          "reactions": 87,          "comments": 4,          "sites": ["GOOGLE", "FACEBOOK"],          "message": [            { "site": "GOOGLE", "message": "Festive savings across all our stores this week." },            { "site": "FACEBOOK", "message": "Festive savings across all our stores this week!" }          ],          "cta": [            { "type": { "value": "GET_OFFER", "label": "Get offer" }, "url": "https://jennyhome.example/diwali", "site": "GOOGLE", "tinyUrl": "https://tiny.cc/jh-diwali" }          ],          "contextInfo": {            "couponCode": "DIWALI25",            "redeemUrl": "https://jennyhome.example/diwali",            "termsConditions": "Valid in-store only. Cannot be combined with other offers.",            "title": "25% off storewide",            "discount": "25%",            "startDay": "2026-06-22",            "endDay": "2026-07-06"          },          "mediaUrl": [            { "url": "https://cdn.listingsapi.com/posts/51088/diwali.jpg", "site": "GOOGLE", "type": "IMAGE" }          ],          "publishDetails": [            { "site": "GOOGLE", "status": "PUBLISHED", "createdDate": "2026-06-20", "publishedDate": "2026-06-22", "submissionError": null },            { "site": "FACEBOOK", "status": "PUBLISHED", "createdDate": "2026-06-20", "publishedDate": "2026-06-22", "submissionError": null }          ],          "postLinks": [            { "site": "GOOGLE", "link": "https://www.google.com/maps/place/?post=51088" }          ],          "locationIds": [1800289, 1800290, 1800291],          "clientName": "Jenny Home"        }      ],      "locationDetails": [        {          "id": "TG9jYXRpb246MTgwMDI4OQ==",          "name": "Jenny Home",          "street": "600 Congress Ave, Suite 200",          "city": "Austin",          "postalCode": "78701",          "countryIso": "US",          "stateIso": "TX",          "stateName": "Texas",          "storeId": null        }      ],      "pageInfo": {        "totalPages": 1,        "hasNextPage": false,        "hasPreviousPage": false,        "totalRecords": 1      }    }  }}
401Unauthenticated, missing or invalid API key.
429Rate limit exceeded. Retry after the `Retry-After` header value.

Uma publicação em massa é uma campanha publicada em muitos locais ao mesmo tempo (criada via POST /bulk-posts). Este endpoint lista as campanhas em massa que incluem o local especificado, para que você possa ver dados consolidados de várias lojas da perspectiva de uma única loja. A estrutura da resposta é idêntica à de GET /locations/{locationId}/posts; os registros aqui apenas abrangem vários locationIds.

Caso de uso: conferir um lançamento em toda a rede. Depois de lançar uma "Oferta de Diwali" em todas as lojas, chame GET /locations/1800289/bulk-posts a partir de qualquer uma delas para confirmar que a campanha chegou a ela, inspecionar o contextInfo compartilhado (código do cupom, desconto, condições) e ler o publishDetails de cada site para identificar um FACEBOOK submissionError nesse local.

Pontos de atenção.

  • Assim como na lista de um único local: a paginação é baseada em deslocamento via page/perPage, sortFields é um único objeto (não um array), e consultas repetidas em alta frequência podem retornar HTTP 429.
  • locationIds em cada registro é o conjunto completo de locais aos quais a campanha foi direcionada; ele conterá IDs além daquele no caminho.

O array records acima é representativo. O local pré-cadastrado no ambiente ativo (Jenny Home) não tem campanhas em massa, então uma chamada real retorna records: [] com pageInfo.totalRecords: 0.

Request
curl -X GET 'https://listingsapi.com/api/v4/locations/<locationId>/bulk-posts' \  -H "Authorization: API $LISTINGSAPI_KEY"