Request Frequency

  • The full parsing method GET /nomenclature/composition is called once per day. Typically scheduled for morning hours. Timing is coordinated between the Partner and Yango Deli manager.

  • The stock levels retrieval method GET /nomenclature/{placeId}/availability is requested at short intervals of no more than 30 minutes. Update frequency is to be coordinated and depends on how frequently stock levels change on the Partner’s side.

  • The pricing method GET /nomenclature/{placeId}/prices may be called more than once per day when necessary.

Product Assortment, Pricing and Stock Information Retrieval Process

  1. Handling unsuccessful responses.

    In case of unsuccessful responses, Yango Deli will send retry requests with increasing intervals (from 10 minutes to 3 hours).

  2. Handling successful responses for GET /nomenclature/composition method.

    Upon successful response from GET /nomenclature/composition Yango Deli will parse products into its services, classify them, and consolidate them into master cards within the unified system. Such master cards will have shared:

    • images;
    • descriptions;
    • names.

    When receiving an order, the Partner will see in their system the same product names and IDs that were passed through the integration.

  3. Updating product stock via GET /nomenclature/{placeId}/availability method.

    By default, stock levels remain unchanged unless the Partner sends new values.
    Yandex Eats can zero out product stock in two ways:

    • When receiving a value of 0 from the Partner in the response. If you stop sending the item, Yandex Eats will continue displaying the previously received stock.
    • Zeroing out stock for products that are not included in the /nomenclature/{placeId}/availability request response.

    If you need to work with the second method, please inform your Yandex Eats manager.

  4. Pricing.

    For pricing, we expect support for the items.OldPrice field, where we receive the price before discount application. On the Yango Deli storefront, the price from items.OldPrice is displayed with strikethrough, and the discount percentage is calculated automatically.

  5. Image parsing.

    Yandex Eats processes images from the items.images field and can work with multiple images for a single product.
    To transmit multiple photos, Partners send an array of images in the images block. To set the display order for photos, use the order parameter.

Catch-Weight Product Processing Logic

  1. Catch-weight products parsed from the nomenclature are defined as follows:

    • price – Price per value specified in measure.value.
    • measure.value – Product weight, passed in grams (for catch-weight products, must pass value: 1000, equivalent to 1kg).
    • measure.quantum – Minimum product quantity (quantum) available for ordering. Calculated from measure.value.
  2. In the catalog, catch-weight products are displayed as:

    • Product weight = measure.quantum * measure.value.
    • Product price = measure.quantum * price.
  3. Values passed in order for price and quantity:

price – Price per value specified in measure.value (typically per 1000g, which is the quantity you pass in measure.value)
quantity – Quantity added to cart * measure.quantum.

Example

Suppose we receive the following data:

The product will display on the frontend as follows:

Customer places an order for 500g of cucumbers, then in the request body Yandex Eats will pass price per 1kg and quantity 0.5 (equal to 500g selected by customer)

After actual weighing, cucumbers weigh 470g, then in GET /order/{orderId} response Yandex Eats expects to receive from Partner "quantity": 0.47 (470g), while price remains per 1kg (unchanged)

Upon receiving updated weight information, Yango Deli adjusts the item cost.

Brand-based Nomenclature Parsing Method

To reduce the number of GET /nomenclature/{placeId}/composition requests from Yango Deli, Partner can support a separate brand-based parsing endpoint GET /nomenclature/composition, while implementing the price polling endpoint GET /nomenclature/{placeId}/prices.

  • Unlike the /nomenclature/{placeId}/composition method, the /nomenclature/composition method involves one assortment request per brand and doesn't account for catalog differences between stores.

  • Retry logic remains unchanged for error responses.

  • Note that some field composition may differ from the individual store parsing method GET /nomenclature/{placeId}/composition.