Invendor Scans API

The Scans API from Invendor — 5 operation(s) for scans.

OpenAPI Specification

invendor-scans-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: IO.Common Accounts Scans API
  version: '1.0'
security:
- OAuth2: []
tags:
- name: Scans
paths:
  /api/v1/Scans:
    get:
      tags:
      - Scans
      summary: "Get scan events. When dateFrom is not provided, it defaults to 3 months before the\r\ncurrent date; dateTo defaults to the current date."
      parameters:
      - name: locationId
        in: query
        schema:
          type: integer
          format: int32
      - name: accountId
        in: query
        schema:
          type: integer
          format: int32
      - name: userAccountId
        in: query
        schema:
          type: integer
          format: int32
      - name: type
        in: query
        schema:
          type: string
          default: ''
      - name: dateFrom
        in: query
        schema:
          type: string
          format: date-time
      - name: dateTo
        in: query
        schema:
          type: string
          format: date-time
      - name: sessionId
        in: query
        schema:
          type: integer
          format: int32
      - name: userId
        in: query
        schema:
          type: integer
          format: int32
      - name: operationName
        in: query
        schema:
          type: string
      - name: searchTerm
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScanEventReportRowDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.reporting
  /api/v1/Scans/my:
    get:
      tags:
      - Scans
      summary: "Get user's scan events. When dateFrom is not provided, it defaults to 7 days before\r\nthe current date; dateTo defaults to the current date."
      parameters:
      - name: locationId
        in: query
        schema:
          type: integer
          format: int32
      - name: accountId
        in: query
        schema:
          type: integer
          format: int32
      - name: type
        in: query
        schema:
          type: string
          default: ''
      - name: dateFrom
        in: query
        schema:
          type: string
          format: date-time
      - name: dateTo
        in: query
        schema:
          type: string
          format: date-time
      - name: sessionId
        in: query
        schema:
          type: integer
          format: int32
      - name: userId
        in: query
        schema:
          type: integer
          format: int32
      - name: operationName
        in: query
        schema:
          type: string
      - name: searchTerm
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScanEventReportRowDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.reporting
  /api/v1/Scans/anonymous:
    get:
      tags:
      - Scans
      summary: Get anonymous scan events
      parameters:
      - name: locationId
        in: query
        schema:
          type: integer
          format: int32
      - name: accountId
        in: query
        schema:
          type: integer
          format: int32
      - name: type
        in: query
        schema:
          type: string
          default: ''
      - name: dateFrom
        in: query
        schema:
          type: string
          format: date-time
      - name: dateTo
        in: query
        schema:
          type: string
          format: date-time
      - name: sessionId
        in: query
        schema:
          type: integer
          format: int32
      - name: userId
        in: query
        schema:
          type: integer
          format: int32
      - name: operationName
        in: query
        schema:
          type: string
      - name: searchTerm
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScanEventReportRowDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.reporting
  /api/v1/Scans/count:
    get:
      tags:
      - Scans
      summary: Returns scans count by location, operation for selected period. Max period is 30 days, defaults to 7 days.
      parameters:
      - name: locationId
        in: query
        schema:
          type: integer
          format: int32
      - name: operationId
        in: query
        schema:
          type: integer
          format: int32
      - name: dateFrom
        in: query
        schema:
          type: string
          format: date-time
      - name: dateTo
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LocationOperationDateScansDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.reporting
  /api/v1/Scans/badscans:
    get:
      tags:
      - Scans
      summary: Get bad scan events
      parameters:
      - name: accountId
        in: query
        schema:
          type: integer
          format: int32
      - name: locationId
        in: query
        schema:
          type: integer
          format: int32
      - name: dateFrom
        in: query
        schema:
          type: string
          format: date-time
      - name: dateTo
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BadScanDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.reporting
components:
  schemas:
    BadScanDto:
      type: object
      properties:
        scanId:
          type: integer
          format: int32
        locationId:
          type: integer
          format: int32
        sessionTypeId:
          type: integer
          format: int32
        sessionState:
          type: integer
          format: int32
        scanDateTime:
          type: string
          format: date-time
        itemId:
          type: integer
          format: int32
          nullable: true
        itemName:
          type: string
          nullable: true
        itemCode:
          type: string
          nullable: true
        altCode:
          type: string
          nullable: true
        altName:
          type: string
          nullable: true
        barcode:
          type: string
          nullable: true
        quantity:
          type: number
          format: double
          nullable: true
        expectedQuantity:
          type: number
          format: double
          nullable: true
        confirmedQuantity:
          type: number
          format: double
          nullable: true
        rawWeight:
          type: number
          format: double
          nullable: true
        itemWeight:
          type: number
          format: double
          nullable: true
        itemBinWeight:
          type: number
          format: double
          nullable: true
        calculatedItemWeight:
          type: number
          format: double
          nullable: true
        weightDiffPercent:
          type: number
          format: double
          nullable: true
        location:
          type: string
          nullable: true
        wmsLocationId:
          type: string
          nullable: true
        operation:
          type: string
          nullable: true
      additionalProperties: false
    ScanEventReportRowDTO:
      type: object
      properties:
        scanId:
          type: integer
          format: int32
        sessionId:
          type: integer
          format: int32
        itemId:
          type: integer
          format: int32
          nullable: true
        locationId:
          type: integer
          format: int32
        sessionTypeId:
          type: integer
          format: int32
        scannedData:
          type: string
          nullable: true
        unit:
          type: string
          nullable: true
        quantity:
          type: number
          format: double
        expectedQuantity:
          type: number
          format: double
        firmedQuantity:
          type: number
          format: double
        scanDate:
          type: string
          format: date
          readOnly: true
        scanDateTime:
          type: string
          format: date-time
        itemName:
          type: string
          nullable: true
        itemCode:
          type: string
          nullable: true
        altCode:
          type: string
          nullable: true
        altName:
          type: string
          nullable: true
        vendor:
          type: string
          nullable: true
        itemUnit:
          type: string
          nullable: true
        userId:
          type: integer
          format: int32
          nullable: true
        user:
          type: string
          nullable: true
        userFirstName:
          type: string
          nullable: true
        userLastName:
          type: string
          nullable: true
        userFullName:
          type: string
          nullable: true
        userGroupName:
          type: string
          nullable: true
        companyName:
          type: string
          nullable: true
        location:
          type: string
          nullable: true
        operation:
          type: string
          nullable: true
        operationType:
          type: string
          nullable: true
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/MetadataDTO'
          nullable: true
        itemProperties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDTO'
          nullable: true
        userProperties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDTO'
          nullable: true
      additionalProperties: false
    MetadataDTO:
      type: object
      properties:
        name:
          type: string
          nullable: true
        shortName:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
        dimensionId:
          type: integer
          format: int32
      additionalProperties: false
    PropertyDTO:
      type: object
      properties:
        key:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
      additionalProperties: false
    Error:
      type: object
      properties:
        code:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
    LocationOperationDateScansDTO:
      type: object
      properties:
        operationId:
          type: integer
          format: int32
        locationId:
          type: integer
          format: int32
        date:
          type: string
          format: date-time
        scans:
          type: integer
          format: int64
        operationName:
          type: string
          nullable: true
        locationName:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://identity.scanbro.com/connect/authorize
          tokenUrl: https://identity.scanbro.com/connect/token
          scopes:
            io.common: default scope