openapi: 3.0.0
info:
title: VTex Anti-fraud Provider Account Offers API
description: ">ℹ️ Onboarding guide\r\n>\r\n> Check the new [Payments onboarding guide](https://developers.vtex.com/docs/guides/payments-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Payments and is organized by focusing on the developer's journey.\r\n\r\nThe Anti-fraud Provider Protocol is a set of definitions to help you integrate your anti-fraud service API into VTEX platform.\r\n\r\nTo achieve this, you need to implement a web API (REST) following the specifications described in this documentation.\r\n\r\n>⚠️ You can also access our [template on GitHub](https://github.com/vtex-apps/antifraud-provider-example) to help you quickly develop your anti-fraud connector using the Anti-fraud Provider Protocol and VTEX IO.\r\n\r\nTo learn more about the Anti-fraud Provider Protocol, check our [developer guide](https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works).\r\n\r\n## Anti-fraud Provider API Index\r\n\r\n### Anti-fraud Flow\r\n\r\n- `POST` [Send Anti-fraud Pre-Analysis Data (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/pre-analysis)\r\n- `POST` [Send Anti-fraud Data](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/transactions)\r\n- `PUT` [Update Anti-fraud Transactions (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#put-/transactions/-transactionId-)\r\n- `GET` [List Anti-fraud Provider Manifest](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/manifest)\r\n- `GET` [Get Anti-fraud Status](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/transactions/-transactions.id-)\r\n- `DELETE` [Stop Anti-fraud Analysis (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#delete-/transactions/-transactions.Id-)\r\n\r\n### OAuth Flow\r\n\r\n1. `POST` [Retrieve Token](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/authorization/token)\r\n2. `GET` [Redirect](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/redirect)\r\n3. `GET` [Return to VTEX](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorizationCode)\r\n4. `GET` [Get Credentials](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorization/credentials)"
version: '1.0'
servers:
- url: https://{providerApiEndpoint}
description: Anti-fraud provider endpoint URL.
variables:
providerApiEndpoint:
description: Anti-fraud provider endpoint URL.
default: '{providerApiEndpoint}'
tags:
- name: Offers
paths:
/api/catalog_system/pub/products/offers/{productId}:
get:
tags:
- Offers
summary: VTex Search Product offers
description: Retrieves existing offers of a specific product.
parameters:
- name: Accept
in: header
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
example: application/json
- name: productId
in: path
description: Product unique number identifier.
required: true
style: simple
schema:
type: string
example: '3'
responses:
'200':
description: OK
content:
application/json:
example:
- SkuId: '5'
EanId: '272727'
RefId: BIGHEROBML
Name: Llf
NameComplete: Cacilds Llf
IsActive: true
MainImage:
ImageId: '172754'
ImageLabel: null
ImageTag:
ImagePath: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain: true
IsZoomSize: false
ImageText: null
LastModified: '2021-03-24T15:37:24.877'
Offers:
- SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
LastModified: '2021-07-06T19:13:45.831483'
ProductId: '3'
schema:
type: array
example:
- SkuId: '5'
EanId: '272727'
RefId: BIGHEROBML
Name: Llf
NameComplete: Cacilds Llf
IsActive: true
MainImage:
ImageId: '172754'
ImageLabel: null
ImageTag:
ImagePath: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain: true
IsZoomSize: false
ImageText: null
LastModified: '2021-03-24T15:37:24.877'
Offers:
- SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
LastModified: '2021-07-06T19:13:45.831483'
ProductId: '3'
items:
type: object
example:
SkuId: '5'
EanId: '272727'
RefId: BIGHEROBML
Name: Llf
NameComplete: Cacilds Llf
IsActive: true
MainImage:
ImageId: '172754'
ImageLabel: null
ImageTag:
ImagePath: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain: true
IsZoomSize: false
ImageText: null
LastModified: '2021-03-24T15:37:24.877'
Offers:
- SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
LastModified: '2021-07-06T19:13:45.831483'
ProductId: '3'
required:
- SkuId
- EanId
- RefId
- Name
- NameComplete
- IsActive
- MainImage
- Offers
- LastModified
- ProductId
properties:
SkuId:
type: string
description: SKU ID.
example: '5'
EanId:
type: string
description: SKU unique identification code (barcode), accepts up to 13 numerical characters.
example: '272727'
RefId:
type: string
description: Unique reference code used internally for organizational purposes.
example: BIGHEROBML
Name:
type: string
description: SKU name.
example: Llf
NameComplete:
type: string
description: SKU complete name.
example: Cacilds Llf
IsActive:
type: boolean
description: If the SKU is active or not.
example: true
MainImage:
type: object
description: General information of the main image of the SKU.
example:
ImageId: '172754'
ImageLabel: null
ImageTag:
ImagePath: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain: true
IsZoomSize: false
ImageText: null
LastModified: '2021-03-24T15:37:24.877'
required:
- ImageId
- ImageLabel
- ImageTag
- ImagePath
- IsMain
- IsZoomSize
- ImageText
- LastModified
properties:
ImageId:
type: string
description: Unique identifier of the association of the Image to the SKU.
example: '172754'
ImageLabel:
type: string
description: Image Label.
nullable: true
example: ''
ImageTag:
type: string
description: Image HTML tag.
example:
ImagePath:
type: string
description: Image file path.
example: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain:
type: boolean
description: If the image is the main image of the SKU or not.
example: true
IsZoomSize:
type: boolean
description: If the image has zoom applied.
example: false
ImageText:
type: string
description: General text of the image.
nullable: true
example: ''
LastModified:
type: string
description: Time that the image was last modified.
example: '2021-03-24T15:37:24.877'
Offers:
type: array
description: AKA Commertial Condition.
example:
- SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
items:
type: object
example:
SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
required:
- SellerId
- SellerSkuId
- OffersPerSalesChannel
- AvailableSalesChannels
properties:
SellerId:
type: string
description: Seller ID.
example: '1'
SellerSkuId:
type: string
description: ID of the association of the SKU with the seller.
example: '5'
OffersPerSalesChannel:
type: array
description: Offers per trade policy.
example:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
items:
type: object
example:
AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
required:
- AvailableQuantity
- SaleChannel
- Price
- ListPrice
- PriceWithoutDiscount
- IsAvailable
properties:
AvailableQuantity:
type: integer
description: SKU available quantity.
example: 50
SaleChannel:
type: integer
description: SKU trade policy.
example: 1
Price:
type: number
description: SKU price.
example: 200
ListPrice:
type: number
description: SKU list price.
example: 200
PriceWithoutDiscount:
type: number
description: SKU precie without discount.
example: 200
IsAvailable:
type: boolean
description: If the SKU is available or not.
example: true
AvailableSalesChannels:
type: string
nullable: true
description: Trade policy that the SKU in contained.
example: ''
LastModified:
type: string
description: Time that the offer was last modified.
example: '2021-07-06T19:13:45.831483'
ProductId:
type: string
description: Product ID.
example: '3'
/api/catalog_system/pub/products/offers/{productId}/sku/{skuId}:
get:
tags:
- Offers
summary: VTex Search SKU offers
description: Retrieves existing offers of a specific SKU.
parameters:
- name: Accept
in: header
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
example: application/json
- name: productId
in: path
description: Product unique number identifier.
required: true
style: simple
schema:
type: string
example: '3'
- name: skuId
in: path
description: Product unique number identifier.
required: true
style: simple
schema:
type: string
example: '5'
responses:
'200':
description: OK
content:
application/json:
example:
- SkuId: '5'
EanId: '272727'
RefId: BIGHEROBML
Name: Llf
NameComplete: Cacilds Llf
IsActive: true
MainImage:
ImageId: '172754'
ImageLabel: null
ImageTag:
ImagePath: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain: true
IsZoomSize: false
ImageText: null
LastModified: '2021-03-24T15:37:24.877'
Offers:
- SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
LastModified: '2021-07-06T19:13:45.831483'
ProductId: '3'
schema:
type: array
example:
- SkuId: '5'
EanId: '272727'
RefId: BIGHEROBML
Name: Llf
NameComplete: Cacilds Llf
IsActive: true
MainImage:
ImageId: '172754'
ImageLabel: null
ImageTag:
ImagePath: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain: true
IsZoomSize: false
ImageText: null
LastModified: '2021-03-24T15:37:24.877'
Offers:
- SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
LastModified: '2021-07-06T19:13:45.831483'
ProductId: '3'
items:
type: object
example:
SkuId: '5'
EanId: '272727'
RefId: BIGHEROBML
Name: Llf
NameComplete: Cacilds Llf
IsActive: true
MainImage:
ImageId: '172754'
ImageLabel: null
ImageTag:
ImagePath: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain: true
IsZoomSize: false
ImageText: null
LastModified: '2021-03-24T15:37:24.877'
Offers:
- SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
LastModified: '2021-07-06T19:13:45.831483'
ProductId: '3'
required:
- SkuId
- EanId
- RefId
- Name
- NameComplete
- IsActive
- MainImage
- Offers
- LastModified
- ProductId
properties:
SkuId:
type: string
description: SKU ID.
example: '5'
EanId:
type: string
description: SKU unique identification code (barcode), accepts up to 13 numerical characters.
example: '272727'
RefId:
type: string
description: Unique reference code used internally for organizational purposes.
example: BIGHEROBML
Name:
type: string
description: SKU name.
example: Llf
NameComplete:
type: string
description: SKU complete name.
example: Cacilds Llf
IsActive:
type: boolean
description: If the SKU is active or not.
example: true
MainImage:
type: object
description: General information of the main image of the SKU.
example:
ImageId: '172754'
ImageLabel: null
ImageTag:
ImagePath: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain: true
IsZoomSize: false
ImageText: null
LastModified: '2021-03-24T15:37:24.877'
required:
- ImageId
- ImageLabel
- ImageTag
- ImagePath
- IsMain
- IsZoomSize
- ImageText
- LastModified
properties:
ImageId:
type: string
description: Unique identifier of the association of the Image to the SKU.
example: '172754'
ImageLabel:
type: string
description: Image Label.
nullable: true
example: ''
ImageTag:
type: string
description: Image HTML tag.
example:
ImagePath:
type: string
description: Image file path.
example: ~/arquivos/ids/172754-#width#-#height#/Diablo.jpg
IsMain:
type: boolean
description: If the image is the main image of the SKU or not.
example: true
IsZoomSize:
type: boolean
description: If the image has zoom applied.
example: false
ImageText:
type: string
description: General text of the image.
nullable: true
example: ''
LastModified:
type: string
description: Time that the image was last modified.
example: '2021-03-24T15:37:24.877'
Offers:
type: array
description: AKA Commertial Condition.
example:
- SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
items:
type: object
example:
SellerId: '1'
SellerSkuId: '5'
OffersPerSalesChannel:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
AvailableSalesChannels: null
required:
- SellerId
- SellerSkuId
- OffersPerSalesChannel
- AvailableSalesChannels
properties:
SellerId:
type: string
description: Seller ID.
example: '1'
SellerSkuId:
type: string
description: ID of the association of the SKU with the seller.
example: '5'
OffersPerSalesChannel:
type: array
description: Offers per trade policy.
example:
- AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
- AvailableQuantity: 0
SaleChannel: 2
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
items:
type: object
example:
AvailableQuantity: 0
SaleChannel: 1
Price: 200
ListPrice: 200
PriceWithoutDiscount: 200
IsAvailable: false
required:
- AvailableQuantity
- SaleChannel
- Price
- ListPrice
- PriceWithoutDiscount
- IsAvailable
properties:
AvailableQuantity:
type: integer
description: SKU available quantity.
example: 50
SaleChannel:
type: integer
description: SKU trade policy.
example: 1
Price:
type: number
description: SKU price.
example: 200
ListPrice:
type: number
description: SKU list price.
example: 200
PriceWithoutDiscount:
type: number
description: SKU precie without discount.
example: 200
IsAvailable:
type: boolean
description: If the SKU is available or not.
example: true
AvailableSalesChannels:
type: string
description: Trade policy that the SKU in contained.
nullable: true
example: ''
LastModified:
type: string
description: Time that the offer was last modified.
example: '2021-07-06T19:13:45.831483'
ProductId:
type: string
description: Product ID.
example: '3'
components:
securitySchemes:
VtexIdclientAutCookie:
type: apiKey
in: header
name: VtexIdclientAutCookie
description: '[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours.'