GET/api/v4/social/bulk-posts/{bulkJobId}

Obtener una tarea de publicación masiva

Devuelve el estado, los recuentos y los resultados por fila de una tarea de publicación masiva en redes sociales.

Requiere una clave de API. Consulta Autenticación para conocer el formato del encabezado y la rotación de claves.

Parámetros

Ruta

NombreTipoObligatorioDescripción
bulkJobIdstringobligatorioJob UUID, the `job.id` returned by POST /social/bulk-posts.

Respuestas

200The job with its counts and one entry per submitted row.
Response
{  "data": {    "getBulkSocialPostJob": {      "id": "9b3f18d0-7a26-4c51-8e94-1f0d5c6b7a82",      "status": "COMPLETED_WITH_ERRORS",      "totalCount": 3,      "processedCount": 3,      "successCount": 2,      "failureCount": 1,      "createdAt": "2026-09-28T14:04:52Z",      "updatedAt": "2026-09-28T14:05:31Z",      "results": [        {          "index": 0,          "clientReference": "campaign-4471-slot-01",          "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",          "platforms": ["INSTAGRAM", "FACEBOOK"],          "status": "CREATED",          "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345",          "postStatus": "SCHEDULED",          "errors": []        },        {          "index": 1,          "clientReference": "campaign-4471-slot-02",          "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",          "platforms": ["INSTAGRAM", "FACEBOOK", "LINKEDIN"],          "status": "CREATED",          "socialPostId": "e08b2d97-6f14-4c22-b7a5-9d3e1f6c4a70",          "postStatus": "SCHEDULED",          "errors": []        },        {          "index": 2,          "clientReference": "campaign-4471-slot-03",          "socialProfileId": "a90f7c22-5db1-4e83-9f40-2b7c6a1e5d33",          "platforms": ["INSTAGRAM"],          "status": "FAILED",          "socialPostId": null,          "postStatus": null,          "errors": [            {              "message": "SY95045: No connected channel for INSTAGRAM on this brand",              "code": "SY95045",              "contextInfo": [{ "key": "platform", "value": "INSTAGRAM" }]            }          ]        }      ]    }  }}
401Unauthenticated, missing or invalid API key.
404No job with that ID on this account (`SY95047`).

Informa sobre una tarea creada por POST /social/bulk-posts. Consúltala periódicamente hasta que status alcance un valor terminal y, después, lee results[] para saber en qué se convirtió cada fila.

Caso de uso: conciliar una carga masiva con tu propio calendario. Después de enviar un lote, consulta este endpoint cada pocos segundos. Cuando status sea terminal, recorre results[] y relaciona el clientReference de cada entrada con tu propio registro, guardando socialPostId en él. Las filas con status: "FAILED" incluyen el motivo en errors[]; vuelve a enviar solo esas filas en un lote nuevo.

Caso de uso: una barra de progreso. Comparar processedCount con totalCount basta para actualizarla sin recorrer results[] en absoluto, y successCount / failureCount te proporcionan el resumen en cuanto termina la tarea.

Estados de la tarea

statusTerminalSignificado
QUEUEDnoAceptada, sin iniciar. results[] puede estar vacío.
PROCESSINGnoSe están creando las filas. results[] se va completando a medida que avanza el proceso.
COMPLETEDsíSe crearon todas las filas.
COMPLETED_WITH_ERRORSsíSe crearon algunas filas y otras fallaron. Lee failureCount y el errors[] de cada fila.
FAILEDsíLa tarea en sí no pudo ejecutarse. No se creó ninguna fila.

Notas.

  • clientReference reproduce exactamente lo que enviaste en esa fila. Es el vínculo más directo con tus propios datos; index, la posición de la fila en el array que enviaste, contando desde 0, es la alternativa cuando no enviaste ningún valor.
  • Que una fila alcance status: "CREATED" significa que la publicación existe, no que se haya publicado: postStatus te indica en qué estado se encuentra la propia publicación. Las filas PUBLISH y SCHEDULE siguen pasando después por el proceso de publicación asíncrono: lleva cada socialPostId a GET /social/posts/{postId} y lee channels[] para conocer el resultado real por canal.
  • Una tarea cuyas filas no superaran la validación en ningún caso ni siquiera se habría creado, porque la creación masiva rechaza el lote antes de ponerlo en cola. Una tarea FAILED aquí significa que la tarea falló después de ser aceptada.
  • updatedAt cambia a medida que se procesan las filas; se estabiliza cuando la tarea alcanza un estado terminal.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/bulk-posts/<bulkJobId>' \  -H "Authorization: API $LISTINGSAPI_KEY"