logo
enes

Feeds de productos

Last update: 4 days ago by Irais Aguirre

Resumen para integraci贸n

  • URL base: https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services
  • Token: de administraci贸n, en el encabezado Authorization: Bearer {{admin-token}} (c贸mo generarlo)
  • Endpoints en esta p谩gina:
    • POST /v1/catalog/{{waba_id}}/{{catalog_id}}/product_feeds: Programar carga de productos por archivo
    • GET /v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/uploads: Listar cargas de un product feed
    • GET /v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/errors: Consultar errores de una carga
    • POST /v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/error_report: Solicitar reporte de errores
    • GET /v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/errors/download: Descargar reporte de errores

Programa la carga peri贸dica de productos desde un archivo (product feed), consulta sus cargas y revisa o descarga los errores de cada carga. Si la petici贸n es correcta, todos los servicios responden con el c贸digo HTTP 200.

Programar carga de productos por archivo

Crea un product feed: Meta descarga peri贸dicamente un archivo con productos desde una URL y lo procesa seg煤n la programaci贸n que indiques.

  • Con schedule, el archivo reemplaza el contenido del cat谩logo: se crean o actualizan los productos del archivo y se eliminan los que no aparecen en 茅l.
  • Con update_schedule, solo se crean o actualizan los productos del archivo.
  • Con override_type, el archivo contiene informaci贸n localizada (idioma, pa铆s o ambos) de productos que ya existen en el cat谩logo.

Petici贸n

Petici贸n de Programar carga de productos por archivo:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/product_feeds
M茅todoPOST
Tipoapplication/json

Encabezados

Encabezados de Programar carga de productos por archivo:

NombreDescripci贸nTipoRequerimientos
Content-Typeapplication/jsonStringObligatorio
AuthorizationToken de administraci贸n. Consulta Generar Token de Autenticaci贸n.StringObligatorio

Par谩metros

Par谩metros de Programar carga de productos por archivo:

NombreDescripci贸nTipoRequerimientos
waba_idID de la cuenta de WhatsApp Business.StringObligatorio
catalog_idID del cat谩logo.StringObligatorio

Cuerpo

Campos del cuerpo de Programar carga de productos por archivo:

NombreDescripci贸nTipoRequerimientos
nameNombre descriptivo del product feed.StringObligatorio
scheduleProgramaci贸n para reemplazar el contenido del cat谩logo con el archivo.Objeto scheduleCondicional. Obligatorio si no se env铆a update_schedule.
update_scheduleProgramaci贸n para crear o actualizar productos con el archivo.Objeto scheduleCondicional. Obligatorio si no se env铆a schedule.
override_typeTipo de informaci贸n localizada que contiene el archivo. Los valores pueden ser:
  • language
  • country
  • language_and_country
StringOpcional. Solo para archivos con informaci贸n localizada.

Objeto schedule

Se usa tanto en schedule como en update_schedule.

NombreDescripci贸nTipoRequerimientos
intervalFrecuencia con la que se procesa el archivo. Los valores pueden ser:
  • HOURLY
  • DAILY
  • WEEKLY
  • MONTHLY
StringObligatorio
urlURL del archivo con los productos.StringObligatorio
hourHora en que se procesa el archivo, de 0 a 23.StringOpcional
minuteMinuto en que se procesa el archivo, de 0 a 59.StringOpcional
day_of_weekD铆a en que se procesa el archivo. Los valores pueden ser:
  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
  • SUNDAY
StringOpcional. Se usa con interval WEEKLY.
timezoneZona horaria de la programaci贸n, por ejemplo, America/Mexico_City.StringOpcional
usernameUsuario para descargar el archivo, si la URL requiere credenciales.StringOpcional
passwordContrase帽a para descargar el archivo, si la URL requiere credenciales.StringOpcional

Ejemplo

Ejemplo completo de Programar carga de productos por archivo:

Reemplazar el contenido del cat谩logo una vez al d铆a:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/product_feeds' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{admin-token}}' \
--data '{
"name": "Productos_reemplazo_diario",
"schedule": {
"interval": "DAILY",
"url": "https://www.example.com/feeds/productos.csv",
"hour": "13",
"minute": "5",
"timezone": "America/Mexico_City"
}
}'

Crear o actualizar productos cada hora:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/product_feeds' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{admin-token}}' \
--data '{
"name": "Productos_actualizacion_cada_hora",
"update_schedule": {
"interval": "HOURLY",
"url": "https://www.example.com/feeds/productos-actualizados.csv",
"minute": "10",
"timezone": "America/Mexico_City"
}
}'

Cargar informaci贸n localizada por idioma y pa铆s:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/product_feeds' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{admin-token}}' \
--data '{
"name": "Productos_localizados_diario",
"override_type": "language_and_country",
"schedule": {
"interval": "DAILY",
"url": "https://www.example.com/feeds/productos-localizados.csv",
"hour": "14",
"timezone": "America/Mexico_City"
}
}'

Respuesta

Respuesta de Programar carga de productos por archivo:

NombreDescripci贸nTipo
idID del product feed creado.String
{
"id": "987654321098765"
}


Listar cargas de un product feed

Devuelve las cargas (upload sessions) de un product feed, ordenadas por fecha de inicio.

Petici贸n

Petici贸n de Listar cargas de un product feed:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/uploads
M茅todoGET

Encabezados

Encabezados de Listar cargas de un product feed:

NombreDescripci贸nTipoRequerimientos
AuthorizationToken de administraci贸n. Consulta Generar Token de Autenticaci贸n.StringObligatorio

Par谩metros

Par谩metros de Listar cargas de un product feed:

NombreDescripci贸nTipoRequerimientos
waba_idID de la cuenta de WhatsApp Business.StringObligatorio
catalog_idID del cat谩logo.StringObligatorio
product_feed_idID devuelto por el servicio Programar carga de productos por archivo.StringObligatorio

Ejemplo

Ejemplo completo de Listar cargas de un product feed:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/uploads' \
--header 'Authorization: Bearer {{admin-token}}'

Respuesta

Respuesta de Listar cargas de un product feed:

El servicio responde con una lista de cargas.

NombreDescripci贸nTipo
idID de la carga (upload session).String
startTimeFecha y hora de inicio de la carga.String
endTimeFecha y hora de fin de la carga.String
[
{
"id": "112233445566778",
"startTime": "2026-11-02T18:53:25+0000",
"endTime": "2026-11-02T19:00:34+0000"
},
{
"id": "112233445566779",
"startTime": "2026-11-03T18:50:48+0000",
"endTime": "2026-11-03T19:00:24+0000"
}
]


Consultar errores de una carga

Devuelve los errores que Meta encontr贸 al procesar una carga de un product feed.

Petici贸n

Petici贸n de Consultar errores de una carga:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/errors
M茅todoGET

Encabezados

Encabezados de Consultar errores de una carga:

NombreDescripci贸nTipoRequerimientos
AuthorizationToken de administraci贸n. Consulta Generar Token de Autenticaci贸n.StringObligatorio

Par谩metros

Par谩metros de Consultar errores de una carga:

NombreDescripci贸nTipoRequerimientos
waba_idID de la cuenta de WhatsApp Business.StringObligatorio
catalog_idID del cat谩logo.StringObligatorio
product_feed_idID del product feed.StringObligatorio
upload_session_idID de la carga, devuelto por el servicio Listar cargas de un product feed.StringObligatorio

Ejemplo

Ejemplo completo de Consultar errores de una carga:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/errors' \
--header 'Authorization: Bearer {{admin-token}}'

Respuesta

Respuesta de Consultar errores de una carga:

NombreDescripci贸nTipo
dataErrores encontrados en la carga.Lista de objetos upload error
pagingInformaci贸n de paginaci贸n.Objeto paging

Objeto upload error

NombreDescripci贸nTipo
idID del error.String
summaryResumen del error.String
descriptionDescripci贸n detallada del error.String
severitySeveridad del error, por ejemplo, fatal o warning.String
affected_surfacesCanales afectados por el error.Lista de String
samplesEjemplos de filas del archivo con el error.Objeto

Objeto samples

NombreDescripci贸nTipo
dataFilas con el error.Lista de objetos sample
pagingInformaci贸n de paginaci贸n.Objeto paging

Objeto sample

NombreDescripci贸nTipo
idID de la fila.String
row_numberN煤mero de fila en el archivo.Number
retailer_idretailer_id del producto.String

Objeto paging

NombreDescripci贸nTipoRequerimientos
cursorsCursores before y after para paginar los resultados.ObjetoOpcional
nextURL para obtener la siguiente p谩gina de resultados.StringOpcional
previousURL para obtener la p谩gina anterior de resultados.StringOpcional
{
"data": [
{
"id": "556677889900112",
"summary": "Falta el precio",
"description": "Agrega un precio a tus productos.",
"severity": "fatal",
"affected_surfaces": [
"Dynamic Ads",
"Shops"
],
"samples": {
"data": [
{
"id": "556677889900113",
"row_number": 3,
"retailer_id": "CURSO_INGLES_004"
}
]
}
}
],
"paging": {
"cursors": {
"before": "QVFIUjExampleBefore",
"after": "QVFIUjExampleAfter"
}
}
}


Solicitar reporte de errores

Pide a Meta que genere un archivo con los errores de una carga. Cuando est茅 listo, desc谩rgalo con el servicio Descargar reporte de errores.

Petici贸n

Petici贸n de Solicitar reporte de errores:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/error_report
M茅todoPOST

Encabezados

Encabezados de Solicitar reporte de errores:

NombreDescripci贸nTipoRequerimientos
AuthorizationToken de administraci贸n. Consulta Generar Token de Autenticaci贸n.StringObligatorio

Par谩metros

Par谩metros de Solicitar reporte de errores:

NombreDescripci贸nTipoRequerimientos
waba_idID de la cuenta de WhatsApp Business.StringObligatorio
catalog_idID del cat谩logo.StringObligatorio
product_feed_idID del product feed.StringObligatorio
upload_session_idID de la carga.StringObligatorio

Ejemplo

Ejemplo completo de Solicitar reporte de errores:

curl --location --request POST 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/error_report' \
--header 'Authorization: Bearer {{admin-token}}'

Respuesta

Respuesta de Solicitar reporte de errores:

NombreDescripci贸nTipo
successIndica si la solicitud fue aceptada.Boolean
{
"success": true
}


Descargar reporte de errores

Devuelve el estatus del reporte de errores de una carga y, cuando ya est谩 generado, la URL para descargarlo.

Petici贸n

Petici贸n de Descargar reporte de errores:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/errors/download
M茅todoGET

Encabezados

Encabezados de Descargar reporte de errores:

NombreDescripci贸nTipoRequerimientos
AuthorizationToken de administraci贸n. Consulta Generar Token de Autenticaci贸n.StringObligatorio

Par谩metros

Par谩metros de Descargar reporte de errores:

NombreDescripci贸nTipoRequerimientos
waba_idID de la cuenta de WhatsApp Business.StringObligatorio
catalog_idID del cat谩logo.StringObligatorio
product_feed_idID del product feed.StringObligatorio
upload_session_idID de la carga.StringObligatorio

Ejemplo

Ejemplo completo de Descargar reporte de errores:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}/{{product_feed_id}}/{{upload_session_id}}/errors/download' \
--header 'Authorization: Bearer {{admin-token}}'

Respuesta

Respuesta de Descargar reporte de errores:

NombreDescripci贸nTipo
idID de la carga.String
errorReportEstatus del reporte de errores.Objeto

Objeto error report

NombreDescripci贸nTipo
reportStatusEstatus del reporte. Los valores pueden ser:
  • NOT_REQUESTED: no se ha solicitado el reporte.
  • REQUESTED: el reporte se est谩 generando.
  • WRITE_FINISHED: el reporte est谩 listo para descargarse.
String
fileHandleURL para descargar el archivo de errores. Solo se incluye cuando el reporte est谩 listo.String

Reporte listo:

{
"id": "112233445566778",
"errorReport": {
"reportStatus": "WRITE_FINISHED",
"fileHandle": "https://www.example.com/reports/errores-carga-112233445566778.csv"
}
}

Reporte no solicitado:

{
"id": "112233445566779",
"errorReport": {
"reportStatus": "NOT_REQUESTED"
}
}

Anterior
Productos
Siguiente
C贸digos de error