UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 74.7 kB
{"openapi":"3.0.0","info":{"description":"Allows sellers to: 1) Load products definitions to the BrandLovers marktplace. 2) Receive and update orders status. 3) Receive and update shipping information. 4) Receive and update customer tickets. All requests consume and return application/json content. All request must be authenticated and use HTTPS.","title":"BrandLovers Marketplace API V1","version":"1.0.0","x-apisguru-categories":["ecommerce"],"x-origin":[{"format":"swagger","url":"https://raw.githubusercontent.com/brandlovers/marketplace-api-documentation/master/brandlovers-marketplace-api-v1.json","version":"2.0"}],"x-providerName":"brandlovers.com"},"tags":[{"description":"Bulk create or query seller products.","name":"products"},{"description":"Create, Modify or Read details of a single product","name":"product"},{"description":"Bulk create or query orders","name":"orders"},{"description":"Modify or read details of a single order","name":"order"},{"description":"Bulk create or query customer tickets","name":"tickets"},{"description":"Modify or read details of a single ticket","name":"ticket"}],"paths":{"/order/{orderId}":{"get":{"description":"Returns all details of a single order, including last status, items shipped or not.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Unique Id of this order.","in":"path","name":"orderId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."},"404":{"description":"Object not found. Was not able to find orderId"}},"summary":"Returns all details of a order","tags":["order"]}},"/order/{orderId}/shipment/cancel":{"post":{"description":"Confirm shipment canceletion (when requested by the customer) or failure to deliver one shipment","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Unique Order Id","in":"path","name":"orderId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/NewTrackingRefund"},"responses":{"200":{"description":"success."},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"404":{"description":"Object not found. Was not able to find orderId"}},"summary":"Confirm shipment canceletion (when requested by the customer) or failure to deliver","tags":["order"]}},"/order/{orderId}/shipment/delivered":{"post":{"description":"Confirms that a shipment was delivered. Must inform quantity of successfully deliverd items even if items deliverd was less than the original order","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Unique Order Id","in":"path","name":"orderId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Newshipmentstatus"},"responses":{"200":{"description":"Sucess!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"404":{"description":"Object not found. Was not able to find orderId"}},"summary":"Confirms that a shipment was delivered","tags":["order"]}},"/order/{orderId}/shipment/exchange":{"post":{"description":"This enpoint to confirm item exchange when failure to deliver or requested by the customer. All customer requests are tracket via trouble tickets","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Unique Order Id","in":"path","name":"orderId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/NewTrackingRefund"},"responses":{"200":{"description":"Sucess!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"404":{"description":"Object not found. Was not able to find orderId"}},"summary":"Confirm item exchange","tags":["order"]}},"/order/{orderId}/shipment/return":{"post":{"description":"Use this endpoint to return and refund items froma a order. In order to fully return an order list all items and applicate quantity.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Order unique Id","in":"path","name":"orderId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/NewTrackingRefund"},"responses":{"200":{"description":"Sucess!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"404":{"description":"Object not found. Was not able to find orderId"}},"summary":"Confirm order item return and refund","tags":["order"]}},"/order/{orderId}/shipment/sent":{"post":{"description":"Updates order to include shipment shiped information. This endpoint can be used to include a single or multiple shipments for any give order. In order to inform that all items of a order where shipped list all of them, including applicable quantities in the payload.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Unique Order Id","in":"path","name":"orderId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Newshipmentstatus"},"responses":{"200":{"description":"Sucess!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"404":{"description":"Object not found. Was not able to find orderId"}},"summary":"Update new order to include shipment information","tags":["order"]}},"/orders":{"get":{"description":"Retuns a list of orders associated with this seller. The list is ordered by dateCreated.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrders"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns orders details","tags":["orders"]}},"/orders/shipments/delivered":{"get":{"description":"Returns list of shipments. By default this will return list of the last shipments ordered by dateCreated, folowed by last update date.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Query by shippment status.","in":"query","name":"status","required":false,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrdersShipments"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns list of shipments","tags":["orders"]},"post":{"description":"Bulk update of order shipments status. This alows to inform multiple shipments status","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrdersShipments"}}},"description":"JSON body with list of shipments to be updated.","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Bulk update of order shipments","tags":["orders"]}},"/orders/shipments/shipped":{"get":{"description":"Returns a list of shipments shipped. By Default returns items ordered by dateCreated folowed by last update","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Product status.","in":"query","name":"status","required":false,"schema":{"type":"string","enum":["NEW","APPROVED","DECLINED","PENDING"]}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrdersShipments"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns a list of shipments shipped","tags":["orders"]},"post":{"description":"Allows bulk updates of orders shippments.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrdersShipments"}}},"description":"JSON payload with list of shippments of orders.","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Bulk update of order shipments","tags":["orders"]}},"/orders/status/approved":{"get":{"description":"Returns a list of approved orders. Orders in the `approved` state must be fullfiled imediadetelly.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 100, max 200. Use this in conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrders"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Return list of approved orders","tags":["orders"]}},"/orders/status/canceled":{"get":{"description":"Returns a list with canceled orders. Canceled orders should not be fullfiled.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Default 100, max 250. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrders"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns lists of canceled orders","tags":["orders"]}},"/orders/status/delivered":{"get":{"description":"Returns a list of orders successfully delivered associated with this seller.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrders"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns a list of orders successfully delivered associated with this seller.","tags":["orders"]}},"/orders/status/new":{"get":{"description":"Returns a list of orders flagged as new. New orders should not be fullfiled until marketplace flags them as approved.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 100. Max 250. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrders"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns a list of orders flagged as new.","tags":["orders"]}},"/orders/status/partiallyDelivered":{"get":{"description":"Returns a list of partially deliverd orders. This is a list of orders with items shipped but with not all items ackwlodged as deliverd","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 100. Max 250. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrders"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns a list of partially deliverd orders","tags":["orders"]}},"/orders/status/partiallySent":{"get":{"description":"Returns a list of orders that contain one (or more) items that where not shipped. This will list the entire order as well the items with peding shipment. Use this service to track orders that need to be fullfiled.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 100. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrders"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns a list of orders partially fullfiled","tags":["orders"]}},"/orders/status/sent":{"get":{"description":"Returns a list with orders completely fullfiled, this means orders with all items sent. Orders will ordered by dateCreated fowllowed by last update","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrders"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns a list with orders fully sent","tags":["orders"]}},"/product":{"post":{"description":"Use this enpoint to create a single new product to the Marketplace. This enpoint expects a json document with one product. If you whant to upload multiple products in a single API call use POST /products method. The server will load each product as an individual item that can be manipulated using your own `skuSellerId`. This system is idenpontent, this means that once a `skuSellerId` is created it cannot be re-created using this tool. In order to update, edit a product use the PUT method with the correct reference to your `skuSellerId`","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}},"description":"New Produt that will be create","required":true},"responses":{"200":{"description":"Sucess! Server received your request and will start background processing."},"400":{"description":"Bad Request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."}},"summary":"Create a new product to the marketplace","tags":["product"]}},"/product/{skuSellerId}":{"get":{"description":"Returns detailed information of a single product with the seller `skuSellerId`. This service will return a json document with product detail, status, price, invetory among other infomarion availble in the Brand Lovers marketplace","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"SKU ID do Lojista.","in":"path","name":"skuSellerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetProduct"}}}},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."},"404":{"description":"Object not found. In general this means a invalid skuSellerId."}},"security":[{"authorization":[]}],"summary":"Returns details of a single product using the seller `skuSellerId`","tags":["product"]},"put":{"description":"Update a single product information such as name, brand, attribute, dimension, etc. Please note that data from your request will be merged with existing data. This allows you to easliy update only certain fields without the need to re-inform the other unchanged fields. For example in order to update just the field `title` simply send just this field with new information, remaining fields will not be changed. In order to erase an item the field must be informed as its default value, for example in order to erase the `videos` field must be sent as videos:[]. The `skuSellerId` field is always mandatory in the path and in the product json Object.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Unique Product Id (SKU) in the seller system that will be updated.","in":"path","name":"skuSellerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUpdate"}}},"description":"New product information.","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."},"404":{"description":"Object not found."}},"security":[{"authorization":[]}],"summary":"Update product details","tags":["products"]}},"/product/{skuSellerId}/prices":{"put":{"description":"Allows seller to set the SKU prices (MSRP and/or offer price). All prices must be informed in cents. No commas or periods are accepeted. For example one dollar should be informed as 100. Same as $1,2345.67 must be informed solely as 1234567","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Product SKU","in":"path","name":"skuSellerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductPrice"}}},"description":"JSON document with the SKU price","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."}},"summary":"Allows seller to update prices of a single SKU","tags":["product"]}},"/product/{skuSellerId}/status":{"put":{"description":"Update product status in the Marketplace. Set to `true` to enable, `false` to disable sale.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Unique Product Id (SKU) in the seller system","in":"path","name":"skuSellerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SellerItemStatus"}}},"description":"Seller SKU that will be enabled or disabled","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."}},"summary":"Enable/disable a single product in the Marketplace","tags":["product"]}},"/product/{skuSellerId}/stock":{"put":{"description":"Update a single product inventory information. Products with zero stock will not be eligible for sale.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Unique Product Id (SKU) in the seller system that will be updated","in":"path","name":"skuSellerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stock"}}},"description":"New product inventory information","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."}},"summary":"Update a single product stock","tags":["product"]}},"/products":{"get":{"description":"Get a list of my products loaded into the Marketplace. This dosen't means that products are eligible for sale, just that they are loaded in the database.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number of items to retun. Defaults to 100. Max alowed is 200. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetProductsResponse"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"security":[{"authorization":[]}],"summary":"Returns a list of products loaded into BrandLovers Marketplace","tags":["products"]},"post":{"description":"This enpoint to creates new products in the Marketplace using `skuSellerId` as a primary key. This enpoint expects a json document with array of products. The server will load each product as an individual item that can be manipulated using your own `skuSellerId`. All requests to This endpoint are idenpontent with respect of the `skuSellerId`, this means that once a `skuSellerId` is created it cannot be re-created using this tool. In order to update use the PUT method with the correct `skuSellerId`. You can also use the POST /product to create a single product per request","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Product"},"type":"array"}}},"description":"JSON with a list of new products to be updloaded to the platform","required":true},"responses":{"200":{"description":"Sucess! Server received your request and will start background processing."},"400":{"description":"Bad Request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."}},"summary":"Allows new products from the seller to be loaded into the marketplace","tags":["products"]}},"/products/prices":{"put":{"description":"Allows bulk update of product prices. This endpoint expects a json document with an array of products with the `skuSellerId` and the new price. Server will process each new product update individually and will ackwlodge as much updates as possible, even if a single product update fails. After this request you can query product final status with GET /product/status","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SellerItemPrices"},"type":"array"}}},"description":"Data for bulk product price update","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."}},"summary":"Allows bulk update of product prices.","tags":["products"]}},"/products/status":{"get":{"description":"Returns a list with seller products status. Please note that this endpoint will not return all details of each product, just the skuSellerId and status. Also please note that this endpoint will return 250 products per call. For full details of a given procuct use GET /product/{skuSellerId}","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number of items to return in this query. Defaults to 250. Maximum 1000. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success fetching results.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSellerProductsStatus"}}}},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns seller products status in the marketplace","tags":["products"]},"put":{"description":"Bulk enable/disable products in the marketplace. This endpoint requires an array of objects with the seller SKU `skuSellerId` and boolean value that defines if the product is enabled or not for sale. This endpoint can be used to set a single product or many products.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProductStatusUpdate"},"type":"array"}}},"description":"List of seller products with new status information","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."}},"summary":"Bulk enable/disable products in the marketplace","tags":["products"]}},"/products/status/selling":{"get":{"description":"Returns products that are successfully listed for sale.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetProductsStatusSelling"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."}},"summary":"Returns products that are successfully listed for sale.","tags":["products"]}},"/products/stocks":{"put":{"description":"Bulk product stock update. This endpoint expect a array of products `skuSellerId` with new inventory data","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProductStock"},"type":"array"}}},"description":"Array of product SKUs.","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."}},"summary":"Bulk product stock update","tags":["products"]}},"/ticket":{"post":{"description":"Use this service to create a new trouble ticket. Use this to include relevant information about the order, comunicate with the customer or marketplace team. Whenever possible message will be pushed to Mobile first. This is the primary mean of comunicaiton with the customer regarding orders, shippments, shippments status. New tickets will be automatically be set to 'OPEN'. Trouble tickets need to be associated with a orderId or customer. New tickets can optionally include a new message.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewTicket"}}},"description":"JSON object with new trouble ticket","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."}},"summary":"Creates a new trouble ticket","tags":["tickets"]}},"/ticket/{ticketId}/message":{"post":{"description":"Add a new message to this trouble ticket. Messages can be `CUSTOMER` (customer will be able to see it) or `INTERNAL`.","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Trouble ticket ID.","in":"path","name":"ticketId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewTicketMessage"}}},"description":"New message object to append to trouble ticket.","required":true},"responses":{"200":{"description":"Success!"},"400":{"description":"Bad request."},"404":{"description":"Object not found."}},"summary":"Add new message to trouble ticket","tags":["tickets"]}},"/ticket/{ticketId}/messages":{"get":{"description":"Returns trouble ticket history with all messages exchanged. Only tickets related to your seller will be returned. Attempt to read other tickets will return 403 (acess denied).","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Trouble ticket ID.","in":"path","name":"ticketId","required":true,"schema":{"type":"string"}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTicketMessages"}}}},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Access denied. You can only access your trouble tickets"}},"summary":"Get trouble ticket messages","tags":["tickets"]}},"/ticket/{ticketId}/status":{"put":{"description":"Alows the seller to update the status of a trouble ticket","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Trouble ticket unique identification","in":"path","name":"ticketId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketStatus"}}},"description":"New trouble ticket status","required":true},"responses":{"200":{"description":"successfully received transaction"},"400":{"description":"Bad request."},"401":{"description":"Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required."},"403":{"description":"Server refused to process your request. Please check the API SLA and reduce number of requests per second."},"404":{"description":"Object not found."}},"summary":"Update trouble ticket status","tags":["tickets"]}},"/tickets":{"get":{"description":"Allows seller to receive and status, queries, requests and complaints from customers. As well related messages","parameters":[{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","required":true,"schema":{"type":"string"}},{"description":"Query by trouble ticket status","in":"query","name":"status","required":false,"schema":{"type":"string","enum":["OPEN","REOPENED","CLOSED"]}},{"description":"Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.","in":"query","name":"limit","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTickets"}}}},"400":{"description":"Bad request."}},"summary":"Get customers trouble tickets","tags":["tickets"]}}},"servers":[{"url":"https://api.brandlovers.com/marketplace/v1"}],"components":{"requestBodies":{"NewTrackingRefund":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewTrackingRefund"}}},"required":true},"Newshipmentstatus":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Newshipmentstatus"}}},"required":true}},"securitySchemes":{"authorization":{"description":"Authorization token. The Authorization token can be found in your Admin console.","in":"header","name":"authorization","type":"apiKey"}},"schemas":{"Address":{"properties":{"address":{"description":"Address first line (ave, street name, etc..)","type":"string"},"city":{"description":"City","type":"string"},"complement":{"description":"Complementary info (aptartament number, building name, suite)","type":"string"},"countryId":{"description":"Contry code using aplpha ISO-3166, Example: BR, US, AR, GB, CN","type":"string"},"neighbourhood":{"description":"Address neighbourhood","type":"string"},"number":{"description":"Address number","type":"string"},"recipientName":{"description":"Recipient Name","type":"string"},"reference":{"description":"Pontos de referência","type":"string"},"state":{"description":"State","type":"string"},"zipCode":{"description":"Zip Code","type":"string"}},"required":["address","number","complement","neighbourhood","city","state","countryId","zipCode"]},"ControlledStock":{"properties":{"crossDockingTime":{"default":0,"description":"Time it will take to manufacture, prepare or setup this product. Time must be provided in seconds. For example 1 day should be informed as 86400. This time will be included in the ETA informed to the customer","type":"integer"},"quantity":{"description":"Quantity of product available for sale","type":"integer"},"reserved":{"description":"Locked product invetory for orders that are not approved and are not ready to fullfil.","type":"integer"}},"required":["quantity"]},"Courier":{"properties":{"name":{"description":"Courier name","type":"string"},"taxID":{"description":"Courier taxId information. For example CNPJ","type":"string"}},"required":["name"]},"Customer":{"properties":{"documentNumber":{"description":"Customer tax information","type":"string"},"email":{"description":"Customer Email (when available). Please note: Email is not a mandatory field","type":"string"},"id":{"description":"Customer unqiue Id","type":"string"},"name":{"description":"Customer Name","type":"string"},"phones":{"description":"Customer phone number","items":{"$ref":"#/components/schemas/Phone"},"type":"array"},"type":{"description":"Customer type: Enterprise or Consumer","type":"string"}},"required":["id","name","documentNumber","type","phones"]},"CustomerReference":{"properties":{"name":{"description":"Customer name","type":"string"},"phoneNumber":{"description":"Customer phone mumber","type":"string"}}},"Dimensions":{"properties":{"height":{"description":"Product height in millimeters. No commas or periods are accepeted. For example one meter produc must be informed as 1000. Another example 1 meter and 23 centimeters should be informed solely as 1230","type":"integer"},"length":{"description":"Product length in millimeters. No commas or periods are accepeted. For example one meter produc must be informed as 1000. Another example 1 meter and 23 centimeters should be informed solely as 1230","type":"integer"},"weight":{"description":"Product weight in Grams. No commas or periods are accepeted. For example one killo must be informed as 1000. Another example 1 Kilo and 234 grams should be informed solely as 1234","type":"integer"},"width":{"description":"Product width in millimeters. No commas or periods are accepeted. For example one meter produc must be informed as 1000. Another example 1 meter and 23 centimeters should be informed solely as 1230","type":"integer"}},"required":["weight","length","width","height"]},"Error":{"properties":{"message":{"description":"Friendly message describing the error","type":"string"},"skuSellerId":{"description":"When applicabe will include `skuSellerId` related to this error","type":"string"},"type":{"description":"Error type","type":"string"}},"required":["type","message"]},"Freight":{"properties":{"ETA":{"description":"Estimated time of arrival","format":"date-time","type":"string"},"additionalInfo":{"description":"Aditional information for the courier","type":"string"},"chargedAmount":{"description":"Shipment cost. Must be informed in cents. No commas or periods are accepeted. For example one dollar should be informed as 100. Same as $1,2345.67 must be informed solely as 1234567","type":"integer"},"crossDockingTime":{"default":0,"description":"Time it will take to manufacture, prepare or setup this product. Time must be provided in seconds. For example 1 day should be informed as 86400. This time will be included in the product ETA informed to the customer","type":"integer"},"defaultAmount":{"description":"Default value of this shippment.","type":"integer"},"scheduledPeriod":{"description":"Scheduled period","type":"string"},"transitTime":{"description":"Deliver time in seconds. Time must be provided in seconds. For example 1 day should be informed as 86400. This time will be included in the product ETA informed to the customer","type":"integer"},"type":{"description":"Freight type","type":"string"}},"required":["defaultAmount","chargedAmount","transitTime","crossDockingTime","additionalInfo"]},"GetOrders":{"properties":{"metadata":{"items":{"$ref":"#/components/schemas/Metadata"},"type":"array"},"orders":{"items":{"$ref":"#/components/schemas/Order"},"type":"array"}},"required":["orders","metadata"]},"GetOrdersShipments":{"properties":{"metadata":{"description":"Response payload","items":{"$ref":"#/components/schemas/Metadata"},"type":"array"},"shipments":{"description":"Order Shippment Status","items":{"$ref":"#/components/schemas/OrderShippmentStatus"},"type":"array"}}},"GetProduct":{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ProductAttribute"},"type":"array"},"bran