DocumentaciónAPI ReferenceFeeds

Feeds

Los feeds son operaciones pendientes de la base de datos.

Son operaciones pendientes en la base de datos, se generan cada vez que se hace alguna acción de creación o actualización de los parámetros de un producto y esto ocurre de forma asincrónica. Los feed se identifican por UUID. Este identificador se devuelve tras el envío satisfactorio de la solicitud original.

¿Qué operaciones generan un Feed?

En la gestión de productos existen 5 APIS que operan asincrónicamente (feed):
  • ProductCreate: Creación de productos
  • ProductUpdate: Actualización de productos
  • ProductRemove: Eliminación de productos
  • Image: Carga de imágenes
  • UpdateStock: Actualización de stock

Restricciones de Feeds

Cada seller tiene una limitación en el uso de feeds. Las primeras 50 llamadas para estas 5 APIs pueden hacerse sin restricción. Sin embargo, después de alcanzar este límite, las llamadas deben tener un intervalo de al menos 2 minutos entre cada una. Esto permite un máximo de 770 llamadas por día. Si no se respeta el tiempo de espera de dos minutos, se generará un mensaje de error (StatusCode 429: demasiados intentos de crear feeds). Esta limitación aplica a cada seller por separado, no a cada credencial.

Recomendaciones

Se sugiere trabajar en lotes. Por ejemplo, al crear productos, en vez de hacerlo uno por uno, envía una solicitud que incluya todos los productos a crear. Lo mismo aplica para actualizaciones de stock — programa una tarea automatizada que envíe todas las actualizaciones de productos en cola cada pocos minutos. Revisa regularmente el estado de los feeds para conocer el estado de tus solicitudes o revisar detalles de errores. Puedes configurar un webhook para recibir notificaciones de creación y finalización de feeds.

Las Limitaciones del Feed Dependen del Vendedor

Esta limitación se aplica a cada vendedor por separado (no a cada credencial).

Tamaños de Lote ("Feed")

Procesar lotes muy grandes puede aumentar significativamente el tiempo de ejecución de tus solicitudes, especialmente durante eventos de alta demanda. Te recomendamos segmentar los lotes reduciendo su tamaño. Un valor que suele funcionar bien es a partir de 500 registros por lote. En función de la cantidad de datos que desees crear o actualizar, ajusta este número para optimizar el rendimiento, hasta un máximo de 1000 registros por lote.

Creación de feeds

Por ejemplo, si publicamos esta solicitud ...
StatusDescription
QueuedFeed added to queue, pending processing
ProcessingServer is currently processing the feed
CanceledThe seller canceled the feed
FinishedFeed has finished processing
ErrorFeed finished with error(s)
<?xml version="1.0" encoding="UTF-8" ?>
<Request>
  <Product>
    <SellerSku>4105382173aaee4</SellerSku>
    <ParentSku></ParentSku>
    <Status>active</Status>
    <Name>Dried Water</Name>
    <Variation>Family Pack</Variation>
    <PrimaryCategory>4</PrimaryCategory>
    <Categories>2,3,5</Categories>
    <Description>You need this!</Description>
    <Brand>Snake Oil</Brand>
    <Price>1.00</Price>
    <SalePrice>0.9</SalePrice>
    <TaxClass>default</TaxClass>
    <ShipmentType>dropshipping</ShipmentType>
    <ProductId>xyzabc</ProductId>
    <Condition>new</Condition>
    <ProductData/>
    <Quantity>1000000</Quantity>
  </Product>
</Request>
... a esta URL ...
https://sellercenter-api.falabella.com/?Action=ProductCreate&Timestamp=2015-07-01T11%3A11%3A11%2B00%3A00&UserID=maintenance%40sellercenter.net&Version=1.0&Signature=3c32c572ad23d0e308c5ac7708478bc57666622ac1a93d210bbc6dfdc499c8ca
... la API devuelve este resultado:
<?xml version="1.0" encoding="UTF-8"?>
<SuccessResponse>
  <Head>
    <RequestId>6a521aff-e74b-4fb6-b40f-d46b42f91652</RequestId>
    <RequestAction>ProductCreate</RequestAction>
    <ResponseType/>
    <Timestamp>2015-07-01T11:11:11+0000</Timestamp>
  </Head>
  <Body/>
</SuccessResponse>
El identificador del feed es el UUID que se devuelve dentro de la etiqueta RequestId, por lo que en este ejemplo es 6a521aff-e74b-4fb6-b40f-d46b42f91652.
Los vendedores pueden solicitar una lista de feeds y errores de los endpoints de Feed. Por ejemplo, podemos usar FeedStatus para consultar el estado de nuestra operación, así ...
https://sellercenter-api.falabella.com/?Action=FeedStatus&FeedID=6a521aff-e74b-4fb6-b40f-d46b42f91652&Format=XML&Timestamp=2015-07-01T11%3A11%3A11%2B00%3A00&UserID=maintenance%40sellercenter.net&Version=1.0&Signature=9f541032e4a3745493b194e78d8af7d77298a701b4d14dcdbe985ce3d8b0f7fb
... y descubriría que la operación falló y por qué había fallado:
<?xml version="1.0" encoding="UTF-8"?>
<SuccessResponse>
  <Head>
    <RequestId/>
    <RequestAction>FeedStatus</RequestAction>
    <ResponseType>FeedDetail</ResponseType>
    <Timestamp>2015-07-01T11:11:11+0000</Timestamp>
    <RequestParameters>
      <FeedID>6a521aff-e74b-4fb6-b40f-d46b42f91652</FeedID>
    </RequestParameters>
  </Head>
  <Body>
    <FeedDetail>
      <Feed>6a521aff-e74b-4fb6-b40f-d46b42f91652</Feed>
      <Status>Finished</Status>
      <Action>ProductCreate</Action>
      <CreationDate>2015-07-01 11:11:11</CreationDate>
      <UpdatedDate>2015-07-01 11:11:11</UpdatedDate>
      <Source>api</Source>
      <TotalRecords>1</TotalRecords>
      <ProcessedRecords>1</ProcessedRecords>
      <FailedRecords>1</FailedRecords>
      <FeedErrors>
        <Error>
          <Code>0</Code>
          <Message>Field PrimaryCategory with value '4' has a problem: Primary category Id is invalid</Message>
        </Error>
        <Error>
          <Code>1</Code>
          <Message>Field Brand with value 'ASM' has a problem: This brand does not exist in our database. Please contact our support.</Message>
        </Error>
        <Error>
          <Code>2</Code>
          <Message>Field TaxClass with value 'default' has a problem: 'default' is an invalid Tax Class</Message>
        </Error>
      </FeedErrors>
    </FeedDetail>
  </Body>
</SuccessResponse>

Eliminación Automática de Feeds

Los feeds con cualquier estado distinto a 'Queued' serán eliminados automáticamente del sistema 30 días después de su creación. Solo los feeds en estado Queued pueden ser cancelados.