swagger: '2.0' info: title: Takealot Seller Create a batch Update an offer API description: The Takealot Seller API for Offers represents the initial phase of the Seller API. With this you will be able to manage your offers in an automated and scalable way. Please ensure you have read the documentation for the Seller API, found at https://sellerportal.takealot.com/api, for an introduction and important information before attempting to use this API. Please note that none of these requests are authorised if you are trying via the "try it out" button. You will need to generate an API key and attach an Authorization header to each request in order to be correctly authorised against our API. This information can be found on the Seller Portal - https://seller.takealot.com/api/seller-api. The below documentation describes each endpoint of the API. version: '2.0' host: seller-api.takealot.com basePath: / schemes: - https consumes: - application/json produces: - application/json - text/csv - application/pdf - text/html tags: - name: Update an offer paths: /v2/offers/offer/{identifier}: patch: operationId: update_offer_by_identifier_v2 description: Update an offer by providing an identifier for the offer summary: Update An Offer (v2) parameters: - name: identifier in: path type: string description: Either Takealot's Offer ID, the Barcode or your SKU for the offer. Prepend with ID, BARCODE, or SKU. e.g. ID234, BARCODE3223, SKUDF22. Defaults to Offer ID. required: true - name: offer in: body required: true schema: $ref: '#/definitions/V2OfferSingleUpdate' tags: - Update an offer responses: '200': description: OK schema: $ref: '#/definitions/V2OfferUpdateSuccessResponse' headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string '400': description: Bad Request Error schema: type: object properties: message: type: string headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string '403': description: Forbidden Error schema: type: object properties: message: type: string headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string '404': description: Not Found Error schema: type: object properties: message: type: string headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string '500': description: Server Error schema: type: object properties: message: type: string headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string /v2/offers/offer: patch: operationId: update_offer_by_identifier_query_v2 description: Update an offer by providing an identifier for the offer summary: Update An Offer (v2) parameters: - name: identifier in: query type: string description: Either Takealot's Offer ID, the Barcode or your SKU for the offer. Prepend with ID, BARCODE, or SKU. e.g. ID234, BARCODE3223, SKUDF22. Defaults to Offer ID. required: true - name: offer in: body required: true schema: $ref: '#/definitions/V2OfferSingleUpdate' tags: - Update an offer responses: '200': description: OK schema: $ref: '#/definitions/V2OfferUpdateSuccessResponse' headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string '400': description: Bad Request Error schema: type: object properties: message: type: string headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string '403': description: Forbidden Error schema: type: object properties: message: type: string headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string '404': description: Not Found Error schema: type: object properties: message: type: string headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string '500': description: Server Error schema: type: object properties: message: type: string headers: x-RateLimit-Limit: type: integer x-RateLimit-Remaining: type: integer x-RateLimit-Reset: type: string definitions: V2OfferUpdateSuccessResponse: type: object properties: offer: $ref: '#/definitions/V2Offer' validation_errors: type: array items: type: object properties: message: type: string code: type: string V2StockCover: type: object description: please note that 0 means there is no stock and hence no cover. -1 means there have been no sales units in the past 30 days hence stock cover cannot be determined. properties: warehouse_id: type: integer stock_cover_days: type: integer V2SalesUnits: type: object properties: warehouse_id: type: integer sales_units: type: integer V2OfferSingleUpdate: type: object properties: sku: type: string description: The unique SKU of the offer. Please send us a unique sku whose length is less than 256 characters. maxLength: 255 selling_price: type: integer description: The price at which the offer will sell for on Takealot (promotion prices will be prioitised). Please ensure you supply us with a positive whole number. rrp: type: integer description: The original price of the offer. Please ensure you supply us with a positive whole number. leadtime_days: type: integer description: The leadtime days of the offer. You can remove leadtime days from your offer by sending through -1. leadtime_stock: type: array description: The leadtime stock of the offer. Please ensure that the merchant_warehouse_id is correct, found at https://seller.takealot.com/api/seller-api/offers and send a positive whole number for the quantity. items: type: object properties: merchant_warehouse_id: type: integer quantity: type: integer status_action: type: string description: This allows you to set the status of the offer to 'Disabled by Seller' (by sending through Disable) or 'Buyable' or 'Not Buyable' (by sending through Re-enable), depending on what rules are satisfied. enum: - Disable - Re-enable V2Offer: type: object properties: tsin_id: type: integer offer_id: type: integer sku: type: string barcode: type: string product_label_number: type: string selling_price: type: integer rrp: type: integer leadtime_days: type: integer leadtime_stock: type: array items: $ref: '#/definitions/V2OfferLeadtimeStock' status: type: string title: type: string offer_url: type: string stock_cover: type: array items: $ref: '#/definitions/V2StockCover' sales_units: type: array items: $ref: '#/definitions/V2SalesUnits' discount: type: string discount_shown: type: boolean storage_fee_eligible: type: boolean date_created: type: string stock_at_takealot_total: type: integer total_excess_takealot_stock: type: integer stock_at_takealot: type: array items: $ref: '#/definitions/V2OfferWarehouseStock' stock_on_way: type: array items: $ref: '#/definitions/V2OfferWarehouseStock' total_stock_on_way: type: integer total_stock_cover: type: integer catalogue_quality_score: type: integer V2OfferWarehouseStock: type: object properties: warehouse: type: object properties: warehouse_id: type: integer name: type: string quantity_available: type: integer V2OfferLeadtimeStock: type: object properties: merchant_warehouse: type: object properties: warehouse_id: type: integer name: type: string quantity_available: type: integer