VTEX Tracking API

The VTEX Tracking API provides real-time package tracking capabilities for VTEX deliveries. It enables shipment registration, delivery status updates, carrier event ingestion, and last-mile tracking data retrieval for the VTEX tracking service.

OpenAPI Specification

vtex-tracking-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  title: VTEX Tracking API
  description: "\r\nThis API is only available in our Brazilian operation, for VTEX Tracking customers. The APIs are used for consulting and registering services in the VTEX Tracking system.\r\n\r\n> We have unified our VTEX Tracking APIs into a single version, so it's no longer necessary to specify the version on the URL. We have also translated all paths to english. Check out our [release notes](https://developers.vtex.com/updates/release-notes/vtex-tracking-api-changes-in-all-paths) to know more about the changes.\\n\\nThe previous paths were not deprecated, and are still being maintained by the VTEX Tracking team. If your business' integration was built with the previous `v1` and `v1.1` endpoints, it will still run smoothly. No changes in your integrations should be done during critical periods. We will communicate any updates, and deprecations of endpoints in the future.\r\n\r\n>⚠️ We recommend that customers call our GET endpoints only once in every 6 hours. We do not recommend, and consider as a bad practice, to retrieve data from the same endpoint more than once during a 6-hour window. This represents a major load to our API that will slow down the overall usage of our systems.\r\n\r\n## Index\r\n\r\n### Authentication\r\n\r\nAcquire the mandatory authentication to access the VTEX Tracking endpoints.\r\n\r\n`POST` [Asynchronous Login](https://developers.vtex.com/vtex-developer-docs/reference/vtex-tracking-api-authentication)\r\n\r\n### Delivery Services\r\n\r\nOperate all VTEX Tracking Delivery Services funcionalities.\r\n\r\n`POST` [Post Delivery Service](https://developers.vtex.com/vtex-rest-api/reference/post-delivery-service)\r\n`GET` [Get Delivery Services List](https://developers.vtex.com/vtex-rest-api/reference/get-delivery-service-list)\r\n`GET` [Get Delivery Service by ID](https://developers.vtex.com/vtex-rest-api/reference/get-delivery-service-by-id)\r\n`POST` [Post Delivery Service With Route Scheduling](https://developers.vtex.com/vtex-rest-api/reference/post-delivery-service-route-scheduling)\r\n`GET` [Get Delivery Services List by Route](https://developers.vtex.com/vtex-rest-api/reference/get-delivery-service-list-by-route)\r\n`GET` [Get Delivery Service by Invoice](https://developers.vtex.com/vtex-rest-api/reference/get-delivery-service-list-by-invoice)"
  contact:
    name: VTEX Tracking
    url: https://vtex.com/br-pt/tracking/
    email: [email protected]
  version: '1.1'
servers:
  - url: https://api.vtextracking.com/receiver
    variables:
      api.vtextracking.com:
        default: api.vtextracking.com
paths:
  /auth:
    post:
      tags:
        - Authentication
      summary: VTex Asynchronous Login
      description: "This endpoint permits the user to acquire the mandatory authentication to access the VTEX Tracking endpoints. \r\n> There is a single version of VTEX Tracking API, so it is no longer necessary to specify the version on the URL, as explained in this [release note](https://developers.vtex.com/updates/release-notes/vtex-tracking-api-changes-in-all-paths). The previous routes were not deprecated and can still be used, and if there is a breaking change, it will be informed."
      parameters:
        - name: Content-Type
          in: header
          description: Type of the content being sent
          required: true
          style: simple
          schema:
            type: string
            default: application/json
        - 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
            default: application/json
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              title: Request body
              default:
                username: clientUserName
                password: 32gv34fs
              required:
                - username
                - password
              properties:
                username:
                  type: string
                  description: Add client's username
                  default: username
                password:
                  type: string
                  description: Add client's password
                  default: password
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '401':
          description: Unauthorized
      deprecated: false
  /services:
    put:
      tags:
        - Delivery Services
      summary: VTex Remove Packing List
      description: Removes Packing List on your VTEX Tracking configuration. Your request body must contain the invoice and serie fields.
      security:
        - Authorization:
            - Bearer {token}
      parameters:
        - name: Content-Type
          in: header
          description: Type of the content being sent
          required: true
          style: simple
          schema:
            type: string
            default: application/json
        - 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
            default: application/json
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/InvoiceFilter'
      responses:
        '200':
          description: Success
          headers: {}
      deprecated: false
    post:
      tags:
        - Delivery Services
      summary: VTex Post Delivery Service
      description: "Creates a delivery service in your Tracking system. It allows the user to configure the Route Scheduling services, without defining the Delivery Person or Route Date. \r\n\r\n### Request body example\r\n\r\n```json\r\n[\r\n    {\r\n        \"deliveryServiceType\": \"Entrega\",\r\n        \"shipperCustomer\": {\r\n            \"legalType\": \"PJ\",\r\n            \"companyName\": \"COMP. BRAS. DE TECN. PARA E-COMMERCE\",\r\n            \"cnpj\": \"05314972000174\",\r\n            \"addressStreet\": \"Rua Praia de Botafogo\",\r\n            \"addressNumber\": \"300\",\r\n            \"addressComplement\": \"SL\",\r\n            \"addressNeighborhood\": \"Botafogo\",\r\n            \"addressCity\": \"Rio de Janeiro\",\r\n            \"postalCode\": \"22250040\",\r\n            \"state\": \"RJ\",\r\n            \"phoneAreaCode\": \"21\",\r\n            \"phoneNumber\": \"999999999\"\r\n            },\r\n        \"invoiceOrderOfService\": \"123456\",\r\n        \"invoiceOrderOfServiceSerie\": \"2\",\r\n        \"orderNumber\": \"987654321\"\r\n    },\r\n    {\r\n        \"deliveryServiceType\": \"Entrega\",\r\n        \"shipperCustomer\": {\r\n            \"legalType\": \"PF\",\r\n            \"firstName\": \"Pedro\",\r\n            \"lastName\": \"Silva\",\r\n            \"cpf\": \"90498365778\",\r\n            \"addressStreet\": \"Rua Praia de Botafogo\",\r\n            \"addressNumber\": \"300\",\r\n            \"addressComplement\": \"SL\",\r\n            \"addressNeighborhood\": \"Botafogo\",\r\n            \"addressCity\": \"Rio de Janeiro\",\r\n            \"postalCode\": \"22250040\",\r\n            \"state\": \"RJ\",\r\n            \"phoneAreaCode\": \"21\",\r\n            \"phoneNumber\": \"999999999\"\r\n            },\r\n        \"invoiceOrderOfService\": \"123457\",\r\n        \"invoiceOrderOfServiceSerie\": \"2\",\r\n        \"orderNumber\": \"987654322\"\r\n    }\r\n]\r\n```"
      security:
        - Authorization: []
      parameters:
        - name: Content-Type
          in: header
          description: Type of the content being sent
          required: true
          style: simple
          schema:
            type: string
            default: application/json
        - 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
            default: application/json
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeliveryService'
        required: true
      responses:
        '200':
          description: Success
          headers: {}
        '400':
          description: Bad Request
      deprecated: false
    get:
      tags:
        - Delivery Services
      summary: VTex Get Delivery Services List
      description: "Retrieves a list of services with pagination and URLs. You can consult the list using the following filters: the service's registration date, status, page size, and desired number of pages. Check the parameters documented below to see each filter's description.\r\n> We strongly recommend that a call to a VTEX Tracking GET endpoint is made only once every 6 hours. Retrieving data from the same endpoint more than once during a 6-hour window represents a load to our API that will slow down the overall usage of systems."
      security:
        - Authorization: []
      parameters:
        - name: Content-Type
          in: header
          description: Type of the content being sent
          required: true
          style: simple
          schema:
            type: string
            default: application/json
        - 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
            default: application/json
        - name: status
          in: query
          description: 'Current status of the delivery service. The status parameters are not case sensitive, you can write them with upper or lower case. This field includes the following statuses as possible values: Ativo, Roteirizado, Realizado, EmAndamento, NaoRealizado'
          style: form
          schema:
            type: string
            default: Ativo
        - name: dateInit
          in: query
          description: Initial date of registration of the requested service. The date format is `yyyy-mm-dd`.
          style: form
          schema:
            type: string
            format: date
            example: '2023-07-28'
        - name: dateEnd
          in: query
          description: "End date of registration of the requested service. The date format is `yyyy-mm-dd`.\n\r\n\rMake sure that the period of time between `dateInit` and `dateEnd` is not greater than 30 days."
          style: form
          schema:
            type: string
            format: date
            example: '2023-07-29'
        - name: pageSize
          in: query
          description: Number of items shown per consultation page. The default is 25
          style: form
          schema:
            type: integer
            format: int32
            default: 40
        - name: page
          in: query
          description: The consultation's desired page
          style: form
          schema:
            type: integer
            format: int32
            default: 1
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginationResultDeliveryServiceResponsev11'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      deprecated: false
  /services/{idDeliveryService}:
    get:
      tags:
        - Delivery Services
      summary: VTex Get Delivery Service by ID
      description: "Retrieves a specific Service's general information by searching through its ID. \r\n> We strongly recommend that a call to a VTEX Tracking GET endpoint is made only once every 6 hours. Retrieving data from the same endpoint more than once during a 6-hour window represents a load to our API that will slow down the overall usage of systems."
      security:
        - Authorization: []
      parameters:
        - name: Content-Type
          in: header
          description: Type of the content being sent
          required: true
          style: simple
          schema:
            type: string
            default: application/json
        - 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
            default: application/json
        - name: idDeliveryService
          in: path
          description: The delivery service's unique identifier
          required: true
          style: simple
          schema:
            type: integer
            default: 1
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryServiceResponse_v1_1'
  /services/routes:
    post:
      tags:
        - Delivery Services
      summary: VTex Post Delivery Service With Route Scheduling
      operationId: PostDeliveryServiceWithRouteAsync
      description: "This endpoint creates a delivery service in your Tracking system. It allows the user to configure the Route Scheduling services with the Delivery Person and Route date already defined.\r\n\r\n ### Request body example\r\n\r\n```json\r\n[\r\n\t{\r\n\t\t\"deliveryServiceRoute\": {\r\n\t\t\t\"deliveryServiceDate\": \"2020-09-28\",\r\n\t\t\t\"displacementType\": \"Caminhão\",\r\n\t\t\t\"carrier\": {\r\n\t\t\t\t\"username\": \"empresa-joao.silva\"\r\n\t\t\t},\r\n\t\t\t\"vehicle\": {\r\n\t\t\t\t\"registrationPlate\": \"XPT-0123\"\r\n\t\t\t},\r\n\t\t\t\"addressStart\": {\r\n\t\t\t\t\"addressStreet\": \"Avenida das Américas\",\r\n\t\t\t\t\"addressNumber\": \"5000\",\r\n\t\t\t\t\"addressCity\": \"Rio de Janeiro\",\r\n\t\t\t\t\"postalCode\": \"22640102\",\r\n\t\t\t\t\"state\": \"RJ\"\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"deliveryService\": [\r\n\t\t\t{\r\n\t\t\t\t\"deliveryServiceType\": \"Entrega\",\r\n\t\t\t\t\"shipperCustomer\": {\r\n\t\t\t\t\t\"legalType\": \"PJ\",\r\n\t\t\t\t\t\"companyName\": \"COMP. BRAS. DE TECN. PARA E-COMMERCE\",\r\n\t\t\t\t\t\"cnpj\": \"05314972000174\",\r\n\t\t\t\t\t\"addressStreet\": \"Rua Praia de Botafogo\",\r\n\t\t\t\t\t\"addressNumber\": \"300\",\r\n\t\t\t\t\t\"addressComplement\": \"SL\",\r\n\t\t\t\t\t\"addressNeighborhood\": \"Botafogo\",\r\n\t\t\t\t\t\"addressCity\": \"Rio de Janeiro\",\r\n\t\t\t\t\t\"postalCode\": \"22250040\",\r\n\t\t\t\t\t\"state\": \"RJ\",\r\n\t\t\t\t\t\"phoneAreaCode\": \"21\",\r\n\t\t\t\t\t\"phoneNumber\": \"999999999\"\r\n\t\t\t\t},\r\n\t\t\t\t\"invoiceOrderOfService\": \"123456\",\r\n\t\t\t\t\"invoiceOrderOfServiceSerie\": \"2\",\r\n\t\t\t\t\"orderNumber\": \"987654321\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"deliveryServiceType\": \"Entrega\",\r\n\t\t\t\t\"shipperCustomer\": {\r\n\t\t\t\t\t\"legalType\": \"PF\",\r\n\t\t\t\t\t\"firstName\": \"Pedro\",\r\n\t\t\t\t\t\"lastName\": \"Silva\",\r\n\t\t\t\t\t\"cpf\": \"90498365778\",\r\n\t\t\t\t\t\"addressStreet\": \"Rua Praia de Botafogo\",\r\n\t\t\t\t\t\"addressNumber\": \"300\",\r\n\t\t\t\t\t\"addressComplement\": \"SL\",\r\n\t\t\t\t\t\"addressNeighborhood\": \"Botafogo\",\r\n\t\t\t\t\t\"addressCity\": \"Rio de Janeiro\",\r\n\t\t\t\t\t\"postalCode\": \"22250040\",\r\n\t\t\t\t\t\"state\": \"RJ\",\r\n\t\t\t\t\t\"phoneAreaCode\": \"21\",\r\n\t\t\t\t\t\"phoneNumber\": \"999999999\"\r\n\t\t\t\t},\r\n\t\t\t\t\"invoiceOrderOfService\": \"123457\",\r\n\t\t\t\t\"invoiceOrderOfServiceSerie\": \"2\",\r\n\t\t\t\t\"orderNumber\": \"987654322\"\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n]\r\n```"
      security:
        - Authorization: []
      parameters:
        - name: Content-Type
          in: header
          description: Type of the content being sent
          required: true
          style: simple
          schema:
            type: string
            default: application/json
        - 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
            default: application/json
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostWithRoute'
        required: true
      responses:
        '200':
          description: Success
          headers: {}
      deprecated: false
    get:
      tags:
        - Delivery Services
      summary: VTex Get Delivery Services List by Route
      description: "This endpoint retrieves a list of Delivery Services by Route Item Date Async.\r\n> We strongly recommend that a call to a VTEX Tracking GET endpoint is made only once every 6 hours. Retrieving data from the same endpoint more than once during a 6-hour window represents a load to our API that will slow down the overall usage of systems."
      security:
        - Authorization: []
      parameters:
        - name: Content-Type
          in: header
          description: Type of the content being sent
          required: true
          style: simple
          schema:
            type: string
            default: application/json
        - 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
            default: application/json
        - name: status
          in: query
          description: 'Current status of the delivery service. Includes the following statuses as possible values: Ativo, Roteirizado, Realizado, EmAndamento, NaoRealizado'
          style: form
          schema:
            type: string
            default: Ativo
        - name: dateInit
          in: query
          description: Initial date of registration of the requested service. The date format is `yyyy-mm-dd`.
          style: form
          schema:
            type: string
            format: date
            example: '2023-07-28'
        - name: dateEnd
          in: query
          description: "End date of registration of the requested service. The date format is `yyyy-mm-dd`.\n\r\n\rMake sure that the period of time between `dateInit` and `dateEnd` is not greater than 30 days."
          style: form
          schema:
            type: string
            format: date
            example: '2023-07-29'
        - name: pageSize
          in: query
          description: Number of items shown per consultation page. The default is 25
          style: form
          schema:
            type: integer
            format: int32
            default: 40
        - name: page
          in: query
          description: The desired page for the consultation
          style: form
          schema:
            type: integer
            format: int32
            default: 1
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginationResultDeliveryServiceResponsev11'
        '400':
          description: Bad Request
        '404':
          description: Not Found
  /services/invoice:
    get:
      tags:
        - Delivery Services
      summary: VTex Get Delivery Service by Invoice
      description: "This endpoint retrieves a given Service's information by filtering through the chosen invoice number.\r\n> We strongly recommend that a call to a VTEX Tracking GET endpoint is made only once every 6 hours. Retrieving data from the same endpoint more than once during a 6-hour window represents a load to our API that will slow down the overall usage of systems."
      security:
        - Authorization: []
      parameters:
        - name: Content-Type
          in: header
          description: Type of the content being sent
          required: true
          style: simple
          schema:
            type: string
            default: application/json
        - 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
            default: application/json
        - name: invoice
          in: query
          description: Invoice code
          style: form
          schema:
            type: string
            default: ''
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginationResultDeliveryServiceResponsev11'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      deprecated: false
components:
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: To use the endpoints, please login through the Authentication API, and copy the access token in the response.
  schemas:
    TokenResponse:
      title: TokenResponse
      type: object
      properties:
        authenticated:
          type: boolean
        created:
          type: string
        expiration:
          type: string
        accessToken:
          type: string
        message:
          type: string
    PaginationResultDeliveryServiceResponsev11:
      title: Pagination Result[Delivery Service Response _v1_1]
      type: object
      properties:
        page:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
        data:
          type: array
          items:
            $ref: '#/components/schemas/DeliveryServiceResponse_v1_1'
          description: ''
    PostWithRoute:
      title: PostWithRoute
      required:
        - deliveryServiceDate
      type: object
      properties:
        deliveryService:
          type: array
          items:
            $ref: '#/components/schemas/DeliveryService'
          description: ''
        deliveryServiceRoute:
          $ref: '#/components/schemas/DeliveryServiceRoute'
    DeliveryServiceRoute:
      title: DeliveryServiceRoute
      required:
        - carrier
        - displacementType
        - deliveryServiceDate
      type: object
      properties:
        carrier:
          $ref: '#/components/schemas/Carrier'
        displacementType:
          maxLength: 15
          minLength: 0
          type: string
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        deliveryServiceRouteTimeOfDay:
          maxLength: 10
          minLength: 0
          type: string
        deliveryServiceDate:
          type: string
          format: date-time
        idExternalRoute:
          maxLength: 50
          minLength: 0
          type: string
        itinerantDate:
          type: string
          format: date-time
        addressStart:
          $ref: '#/components/schemas/AddressStart'
    Carrier:
      title: Carrier
      required:
        - username
      type: object
      properties:
        username:
          maxLength: 100
          minLength: 0
          type: string
        firstName:
          maxLength: 100
          minLength: 0
          type: string
        lastName:
          maxLength: 100
          minLength: 0
          type: string
        cpf:
          maxLength: 14
          minLength: 0
          type: string
        email:
          maxLength: 254
          minLength: 0
          type: string
        mobileAreaCode:
          maxLength: 3
          minLength: 0
          type: string
        mobile:
          maxLength: 10
          minLength: 0
          type: string
        phoneAreaCode:
          maxLength: 3
          minLength: 0
          type: string
        phone:
          maxLength: 10
          minLength: 0
          type: string
        idExternalCarrier:
          maxLength: 30
          minLength: 0
          type: string
        rg:
          maxLength: 12
          minLength: 0
          type: string
        idShipperBranch:
          type: integer
          format: int32
        idShippingCompany:
          type: integer
          format: int32
    Vehicle:
      title: Vehicle
      type: object
      properties:
        registrationPlate:
          maxLength: 50
          minLength: 0
          type: string
    AddressStart:
      title: AddressStart
      type: object
      properties:
        addressStreet:
          type: string
        addressNumber:
          type: string
        postalCode:
          type: string
        addressCity:
          type: string
        state:
          maxLength: 2
          minLength: 0
          type: string
    DeliveryService:
      title: DeliveryService
      type: array
      items:
        $ref: '#/components/schemas/DeliveryServiceObject'
    DeliveryServiceObject:
      title: Delivery Service Object
      required:
        - deliveryServiceType
        - shipperCustomer
      type: object
      properties:
        deliveryServiceType:
          maxLength: 11
          minLength: 0
          type: string
        idExternalShipperCustomer:
          maxLength: 30
          minLength: 0
          type: string
        shipperCustomer:
          $ref: '#/components/schemas/ShipperCustomer'
        invoiceOrderOfService:
          type: string
        invoiceOrderOfServiceSerie:
          maxLength: 3
          minLength: 0
          type: string
        description:
          type: string
        sender:
          type: string
        cnpjShipperPartner:
          type: string
        orderNumber:
          maxLength: 200
          minLength: 0
          type: string
        deliveryServiceHighLighter:
          maxLength: 11
          minLength: 0
          type: string
        latitude:
          type: number
        longitude:
          type: number
        deliveryServiceScheduling:
          $ref: '#/components/schemas/Scheduling'
        cnpjcarrier:
          type: string
        cnpjbranch:
          type: string
        idExternal:
          maxLength: 30
          minLength: 0
          type: string
        idShippingCompany:
          type: integer
          format: int32
        packingList:
          maxLength: 50
          minLength: 0
          type: string
        packingListDateTime:
          type: string
          format: date-time
        integrationDateTime:
          type: string
          format: date-time
    ShipperCustomer:
      title: ShipperCustomer
      required:
        - legalType
        - addressStreet
        - postalCode
      type: object
      properties:
        legalType:
          maxLength: 2
          minLength: 2
          type: string
        email:
          maxLength: 254
          minLength: 0
          type: string
        firstName:
          maxLength: 100
          minLength: 0
          type: string
        lastName:
          maxLength: 100
          minLength: 0
          type: string
        cpf:
          maxLength: 50
          minLength: 0
          type: string
        addressStreet:
          maxLength: 150
          minLength: 0
          type: string
        addressNumber:
          maxLength: 50
          minLength: 0
          type: string
        addressComplement:
          maxLength: 50
          minLength: 0
          type: string
        addressNeighborhood:
          maxLength: 150
          minLength: 0
          type: string
        addressCity:
          maxLength: 100
          minLength: 0
          type: string
        postalCode:
          maxLength: 9
          minLength: 0
          type: string
        state:
          maxLength: 2
          minLength: 2
          type: string
        companyName:
          maxLength: 150
          minLength: 0
          type: string
        cnpj:
          maxLength: 50
          minLength: 0
          type: string
        idExternalShipperCustomer:
          maxLength: 30
          minLength: 0
          type: string
        phoneAreaCode:
          maxLength: 3
          minLength: 0
          type: string
        phoneNumber:
          maxLength: 12
          minLength: 0
          type: string
    Scheduling:
      title: Scheduling
      type: object
      properties:
        shipperCustomerSchedulingDateTime:
          type: string
          format: date-time
        shipperSchedulingDateTime:
          type: string
          format: date-time
        morningPeriod:
          type: boolean
        afternoonPeriod:
          type: boolean
        nightPeriod:
          type: boolean
        origin:
          type: integer
          format: int32
    DeliveryServiceResponse_v1_1:
      title: Delivery Service Response body _v1_1
      type: object
      properties:
        pictures:
          type: array
          items:
            type: string
          description: ''
        idDeliveryService:
          type: integer
          format: int32
        deliveryServiceType:
          $ref: '#/components/schemas/DeliveryServiceTypeResponse'
        deliveryServiceStatus:
          $ref: '#/components/schemas/DeliveryServiceStatusResponse'
        shipper:
          $ref: '#/components/schemas/ShipperResponse'
        shipperCustomer:
          $ref: '#/components/schemas/ShipperCustomerResponse'
        carrier:
          $ref: '#/components/schemas/CarrierResponse'
        displacementType:
          $ref: '#/components/schemas/DisplacementTypeResponse'
        state:
          $ref: '#/components/schemas/StateResponse'
        country:
          $ref: '#/components/schemas/CountryResponse'
        nonDeliveryReason:
          $ref: '#/components/schemas/NonDeliveryReasonResponse'
        shipperPartner:
          $ref: '#/components/schemas/ShipperPartnerResponse'
        shipperBranch:
          $ref: '#/components/schemas/ShipperBranchResponse'
        freightPrice:
          $ref: '#/components/schemas/FreightPriceResponse'
        shippingCompany:
          $ref: '#/components/schemas/ShippingCompanyResponse'
        invoiceOrderOfService:
          type: string
        description:
          type: string
        addressStreet:
          type: string
        addressNumber:
          type: string
        addressComplement:
          type: string
        addressNeighborhood:
          type: string
        addressCity:
          type: string
        postalCode:
          type: string
        estimateDeliveryHour:
          type: string
          format: date-time
        created:
          type: string
          format: date-time
        initialEstimateDeliveryHour:
          type: string
          format: date-time
        deliveryDateTime:
          type: string
          format: date-time
        estimateDeliveryDistance:
          type: integer
          format: int32
        travelledDeliveryDistance:
          type: integer
          format: int32
        orderNumber:
          type: string
        cteNumber:
          type: string
        cteDate:
          type: string
          format: date-time
        sender:
          type: string
        senderCity:
          type: string
        senderState:
          type: integer
          format: int32
        weight:
          type: number
        cubicMeter:
          type: number
        cubicMeterWeight:
          type: number
        value:
          type: number
        freightPriceReceived:
          type: number
        deliveryAttempts:
          type: integer
          format: int32
        serviceTime:
          type: integer
          format: int32
        invoiceOrderOfServiceSerie:
          type: string
        leadTime:
          type: string
          format: date-time
        cnpjcarrier:
          type: string
        cnpjbranch:
          type: string
        idExternal:
          type: string
        billingInfo:
          type: array
          items:
 

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vtex/refs/heads/main/openapi/vtex-tracking-openapi-original.yml