VTEX Service Integration API

These endpoints must be developed to integrate with the Lastmile Pick and Pack Last Mile Protocol API.

Documentation

📖
Documentation
https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works
📖
Documentation
https://developers.vtex.com/docs/guides/bulk-import-buyer-organizations-spreadsheet
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-api-seller-portal-overview
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-overview
📖
Documentation
https://developers.vtex.com/docs/guides/checkout-overview
📖
Documentation
https://help.vtex.com/en/tutorial/customer-credit-overview--1uIqTjWxIIIEW0COMg4uE0
📖
Documentation
https://help.vtex.com/en/tutorial/data-subject-rights--6imchxTx09icupKMbzHVIM
📖
Documentation
https://developers.vtex.com/docs/api-reference/do-api
📖
Documentation
https://developers.vtex.com/docs/guides/managing-vtex-gift-cards
📖
Documentation
https://developers.vtex.com/docs/guides/gift-card-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/faststore/headless-cms-overview
📖
Documentation
https://developers.vtex.com/docs/api-reference/vtex-id-api
📖
Documentation
https://help.vtex.com/en/tracks/vtex-intelligent-search--19wrbB7nEQcmwzDPl1l4Cb/3qgT47zY08biLP3d5os3DG
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search@1.0.8
📖
Documentation
https://help.vtex.com/en/tracks/cms--2YcpgIljVaLVQYMzxQbc3z/1oN446gRGcR2s70RvBCAmj
📖
Documentation
https://developers.vtex.com/docs/guides/search-overview
📖
Documentation
https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3
📖
Documentation
https://developers.vtex.com/docs/guides/fulfillment
📖
Documentation
https://developers.vtex.com/docs/guides/marketplace-overview
📖
Documentation
https://developers.vtex.com/updates/release-notes/marketplace-protocol-documentation-update
📖
Documentation
https://developers.vtex.com/docs/guides/external-marketplace-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-connector
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw
📖
Documentation
https://help.vtex.com/en/tutorial/understanding-the-message-center--tutorials_84
📖
Documentation
https://developers.vtex.com/docs/guides/orders-overview
📖
Documentation
https://developers.vtex.com/docs/guides/changes-in-vtex-features-behavior-to-handle-pii-data
📖
Documentation
https://help.vtex.com/en/tutorial/payment-provider-protocol--RdsT2spdq80MMwwOeEq0m
📖
Documentation
https://developers.vtex.com/docs/guides/payments-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/vtex-pick-and-pack-last-mile--HN7WKV0xoq2ssVjsJlfzr
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-io-documentation-policies
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-hub
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-overview
📖
Documentation
https://developers.vtex.com/docs/guides/profile-system
📖
Documentation
https://developers.vtex.com/docs/guides/promotions-overview
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.reviews-and-ratings
📖
Documentation
https://developers.vtex.com/docs/guides/sent-offers-integration-guide-connectors
📖
Documentation
https://developers.vtex.com/docs/guides/sessions-system-overview
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-shipping-network
📖
Documentation
https://help.vtex.com/en/tutorial/sku-bindings--1SmrVgNwjJX17hdqwLa0TX
📖
Documentation
https://developers.vtex.com/docs/guides/subscriptions
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search/suggestions
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-tracking

Specifications

OpenAPI Specification

vtex-service-integration-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: VTex Anti-fraud Provider Account Service Integration 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: Service Integration
  description: These endpoints must be developed to integrate with the Lastmile Pick and Pack Last Mile Protocol API.
paths:
  /create-service:
    post:
      tags:
      - Service Integration
      summary: VTex Create service
      description: "Creates a service with the information that VTEX will send to the carrier. To understand how to integrate with a carrier, check the [VTEX Pick and Pack Carriers Integration Protocol](https://developers.vtex.com/docs/guides/vtex-pick-and-pack) guide.\r\n\r\nThis endpoint must be developed by the carriers or brokers to integrate into the protocol.\r\n\r\n## Permissions\r\n\r\nThis endpoint does not require [permissions](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3)."
      operationId: Createservice
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            example:
              orderId: SLR-29384924-01
              carrierId: servientrega-50461c9f3335
              seller: qaolimpica
              sender:
                name: Tabitha Sears
                phone: +57 2305781612
                email: tabitha_sears@fortean.brother
                city: Jenkinsville
                state: Northern Mariana Islands
                country: US
                address: 77 Sullivan Place, Jenkinsville, Northern Mariana Islands
                addressComplement: Flat 45
                number: '1029'
                reference: '3'
                location:
                  latitude: -75.269008
                  longitude: 137.499833
                pickupDate: '2024-04-25T18:06:41.202Z'
              receiver:
                name: Pansy Graves
                phone: +57 4240807147
                email: pansy_graves@zentime.moda
                city: Valle
                state: Marshall Islands
                country: Iceland
                neighborhood: Billings
                number: '9840'
                reference: 63 Billings Place, Valle, Marshall Islands
                addressComplement: Flat 45
                location:
                  latitude: -33.249891
                  longitude: -135.052901
                identification: '9541933267'
                deliveryDate: '2024-04-16T20:49:36.117Z'
                contactName: Savannah Porter
                deliveryWindow:
                  name: consectetur
                  initialDate: '2024-04-25T22:50:41.209Z'
                  finalDate: '2024-05-05T21:50:41.210Z'
              packages:
              - id: 6266df719ac55224b793ad36
                orderId: SLR-1221800709659-01
                envelope: Large
                description: Delicate package
                categories:
                - Cellphone
                - Technology
                dimensions:
                  width: '68'
                  height: '43'
                  length: '13'
                weight: '19'
                totalValue: 5616.01
                items:
                - id: 6266df71a19ebe35637e1f42
                  name: Tomatos
                  ean: '473390795673'
                  refId: '6266'
                  image: https://static9.depositphotos.com/1628352/1107/i/600/depositphotos_11071361-stock-photo-tomato.jpg
                  type: Food
                  price: 774230.01
                  weight: 4 kg
                  quantity: 4
                - id: 6266df71803601c3bc4e2d99
                  name: Tomatos
                  ean: '329949764612'
                  refId: '6266'
                  image: https://static9.depositphotos.com/1628352/1107/i/600/depositphotos_11071361-stock-photo-cellphone.jpg
                  type: Foods
                  price: 23162
                  weight: 14 kg
                  quantity: 9
              type: PICKUP_DELIVERY
              carrierServiceType: OTHERS
              comments: Delivery comments.
              paymentMethod: CASH_ON_DELIVERY
              orderValue: 8000
              settings:
              - label: Key secret
                value: keysecret-0122
                key: secrekey
              timezone:
                offset: 300
                value: America/Bogota
            schema:
              $ref: '#/components/schemas/CreateServiceBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseService'
        '400':
          description: Bad request
        '401':
          description: Required authentication
        '404':
          description: Resource not found
        '500':
          description: Internal error
      deprecated: false
      servers:
      - url: https://{store_endpoint}
        variables:
          your_endpoint:
            default: storeapi.com
            description: Server from the store.
components:
  schemas:
    Dimensions:
      required:
      - height
      - length
      - width
      type: object
      properties:
        height:
          type: string
          description: Package height in centimeters.
        length:
          type: string
          description: Package length in centimeters.
        width:
          type: string
          description: Package width in centimeters.
      example:
        height: '5'
        length: '11'
        width: '7'
    ResponseService:
      type: object
      required:
      - status
      - serviceId
      - shippingPrice
      - metaData
      - shippingEstimatedDate
      - labels
      properties:
        status:
          type: string
          example: PENDING
          description: Status of the service.
          enum:
          - PENDING
          - ASSIGNED
          - PICKED
          - ON_ROUTE
          - INCIDENT
          - RETURNED
          - DELIVERED
          - CANCELED
          - ON_HOLD
        serviceId:
          type: string
          example: ASDF23324KDSF2
          description: Service ID.
        shippingPrice:
          type: number
          example: 20000.09
          description: Service shipping price.
        metaData:
          type: object
          properties:
            '{keyValue}':
              description: Carrier additional information.
              type: string
          example:
            anyKey: anyValue
        shippingEstimatedDate:
          type: string
          example: '2024-05-29T22:36:37.589Z'
          description: Shipping estimated date in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.
        labels:
          type: array
          items:
            $ref: '#/components/schemas/Label'
          description: Shipping labels, there may be more than one per order due to breakage in packages.
    Item:
      title: Item
      required:
      - id
      - name
      - ean
      - quantity
      - price
      - refId
      - image
      - type
      - weight
      type: object
      properties:
        id:
          type: string
          description: Product ID.
        name:
          type: string
          description: Product name.
        ean:
          type: string
          description: Unique SKU identification code (barcode). Up to 13 numerical characters.
        quantity:
          type: integer
          format: int32
          description: Quantity of units of the product.
        price:
          type: integer
          format: int32
          description: Product price in cents.
        refId:
          type: string
          description: Product reference ID.
        image:
          type: string
          description: SKU image.
        type:
          type: string
          description: Item type.
        weight:
          type: string
          description: Product weight in grams.
      example:
        id: '184'
        name: Chicken
        ean: EAN354
        quantity: 8
        price: 669
        refId: '314'
        image: https://picsum.photos/seed/YtoZ9/128/480
        type: other
        weight: '6'
    CreateServiceBody:
      type: object
      properties:
        orderId:
          type: string
          description: Order ID.
        carrierId:
          type: string
          description: Carrier ID.
        seller:
          type: string
          description: Identifier representing the seller associated with the order.
        sender:
          description: Sender personal information.
          type: object
          properties:
            name:
              description: Sender name.
              type: string
            phone:
              description: Sender phone number.
              type: string
            email:
              description: Sender email.
              type: string
            city:
              description: Sender city of residence.
              type: string
            state:
              description: Sender state of residence.
              type: string
            country:
              description: Sender country of residence.
              type: string
            address:
              description: Sender address.
              type: string
            addressComplement:
              description: Sender address complement, as apartment number.
              type: string
            number:
              description: Sender residence number.
              type: string
            reference:
              description: Reference to the sender's address to facilitate localization.
              type: string
            location:
              description: Object containing specific latitude and longitude of the sender's address.
              type: object
              properties:
                latitude:
                  description: Sender address' latitude.
                  type: number
                longitude:
                  description: Sender address' longitude.
                  type: number
            pickupDate:
              description: Package pickup date in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.
              type: string
        receiver:
          description: Receiver personal information.
          type: object
          properties:
            name:
              description: Receiver name.
              type: string
            phone:
              description: Receiver phone number.
              type: string
            email:
              description: Receiver email.
              type: string
            city:
              description: Receiver city of residence.
              type: string
            state:
              description: Receiver state of residence.
              type: string
            country:
              description: Receiver country of residence.
              type: string
            address:
              description: Receiver address.
              type: string
            addressComplement:
              description: Receiver address complement, as apartment number.
              type: string
            number:
              description: Receiver residence number.
              type: string
            reference:
              description: Reference to the receiver's address to facilitate localization.
              type: string
            location:
              description: Object containing specific latitude and longitude of the receiver's address.
              type: object
              properties:
                latitude:
                  description: Receiver address' latitude.
                  type: number
                longitude:
                  description: Receiver address' longitude.
                  type: number
            identification:
              description: Receiver identification code.
              type: string
            deliveryDate:
              description: Delivery estimated date in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.
              type: string
            contactName:
              description: Receiver contact name.
              type: string
            deliveryWindow:
              description: Object containing information about package delivery window.
              type: object
              properties:
                name:
                  description: Carrier name.
                  type: string
                initialDate:
                  description: Delivery initial date in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.
                  type: string
                finalDate:
                  description: Delivery final date in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.
                  type: string
        packages:
          type: array
          items:
            $ref: '#/components/schemas/Package'
          description: Array containing information about all order's packages.
        carrierServiceType:
          type: string
          description: Carrier service type. The `carrierServiceType` value is not limited to these specific values. It will be defined by the carrier integrating with the Pick and Pack Last Mile Protocol API.
          enum:
          - BROKER
          - PICKUP_IN_STORE
          - NATIONAL
          - INTERNATIONAL
          - EXPRESS
          - SPECIALIZED
          - OTHERS
        type:
          type: string
          description: Order's type of delivery, `Delivery` or [`Pickup`](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R).
        paymentMethod:
          type: string
          description: Payment method.
        comments:
          type: string
          description: Comments.
        orderValue:
          type: integer
          description: Total value of the order.
        settings:
          description: Array of objects with additional custom fields defined by the carrier.
          type: array
          items:
            description: Object containing information about a custom field.
            type: object
            properties:
              label:
                description: Custom field description.
                type: string
              value:
                description: Custom field value.
                type: string
              key:
                description: Custom field key.
                type: string
        timezone:
          $ref: '#/components/schemas/Timezone'
    Package:
      required:
      - id
      - orderId
      - envelope
      - dimensions
      - weight
      - totalValue
      - items
      - categories
      - description
      type: object
      description: Package information.
      properties:
        id:
          type: string
          description: Package ID.
        orderId:
          type: string
          description: Order ID.
        envelope:
          type: string
          description: Name of the envelope used.
        dimensions:
          $ref: '#/components/schemas/Dimensions'
          description: Package dimensions.
        weight:
          type: string
          description: Package weight in grams.
        totalValue:
          type: integer
          format: int32
          description: Total value of the order.
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item'
            description: Product general information.
          description: Array containing information about the order's products.
        categories:
          type: array
          items:
            type: string
            description: Category name.
          description: Array of categories.
        description:
          type: string
          description: Package description.
      example:
        id: a46e5bc1-8959-459f-a094-b6e699f7214c
        orderId: 46369545534253-01
        envelope: Foam or Plastic Containers
        dimensions:
          height: '5'
          length: '11'
          width: '7'
        weight: '48'
        totalValue: 5352
        items:
        - id: '184'
          name: Chicken
          ean: EAN354
          quantity: 8
          price: 669
          refId: '314'
          image: https://picsum.photos/seed/YtoZ9/128/480
          type: other
          weight: '6'
        categories:
        - Movies
        - Garden
        - Books
        description: Unde deserunt libero cupiditate illum.
    Timezone:
      required:
      - offset
      - value
      - label
      type: object
      description: Time zone information.
      properties:
        offset:
          type: integer
          format: int32
          description: Time zone offset.
        value:
          type: string
          description: Time zone.
        label:
          type: string
          nullable: true
          description: Label.
      example:
        offset: 300
        value: America/Bogota
        label: null
    Label:
      required:
      - id
      - name
      - url
      - type
      type: object
      properties:
        id:
          type: string
          description: Label ID.
        name:
          type: string
          description: Name of the label.
        url:
          type: string
          description: Label URL.
        type:
          type: string
          description: Label's type of file.
      example:
        id: 78c83922-d658-48bf-89d5-0658a6a94e27
        name: Shipping label
        url: https://sandbox-download.postmen.com/label/2024-03-09/258a26a4-45ae-49eb-b64d-929d3b81f46d-1709947994279763.pdf
        type: PDF
  parameters:
    Accept:
      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
    Content-Type:
      name: Content-Type
      in: header
      description: Type of the content being sent.
      required: true
      style: simple
      schema:
        type: string
        example: application/json
    Authorization:
      name: Authorization
      in: header
      description: Authentication JWT. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information as a JSON object between parties.
      required: true
      style: simple
      schema:
        type: string
        example: '{token}'
  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.'