Chaldal Task API

The Task API from Chaldal — 20 operation(s) for task.

OpenAPI Specification

chaldal-task-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: My Title Accounts Task API
  version: 1.0.0
host: eggtransport.chaldal.com
schemes:
- https
tags:
- name: Task
paths:
  /api/Task/GetQrCodeBinary:
    get:
      tags:
      - Task
      operationId: Task_GetQrCodeBinary
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: string
        name: trackingRef
        in: query
        x-nullable: true
      - type: integer
        name: side
        in: query
        format: int32
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Binary PNG Image
          schema:
            type: string
            format: byte
        '401':
          description: Not logged in
        '404':
          description: Invalid TrackingRef
        '400':
          description: Invalid Dimensions
  /api/Task/GetTaskStatus:
    get:
      tags:
      - Task
      operationId: Task_GetTaskStatus
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: string
        name: trackingRef
        in: query
        x-nullable: true
      responses:
        '200':
          x-nullable: false
          description: Simplified Task Status
          schema:
            type: string
        '404':
          description: Invalid TrackingRef
  /api/Task/GetTasks:
    post:
      tags:
      - Task
      operationId: Task_GetTasks
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - name: trackingRefs
        in: body
        required: true
        schema:
          type: array
          items:
            type: string
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Tasks By Tracking Ref
          schema:
            $ref: '#/definitions/FSharpMapOfStringAndTaskDto'
        '401':
          description: Not logged in
        '403':
          description: No access to task
  /api/Task/GetTasksStatuses:
    post:
      tags:
      - Task
      operationId: Task_GetTasksStatuses
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: string
        name: trackingRefsCsv
        in: query
        x-nullable: true
      responses:
        '200':
          x-nullable: false
          description: Task status by tracking ref
          schema:
            $ref: '#/definitions/FSharpMapOfStringAndString'
        '400':
          description: No tracking refs specified
  /api/Task/CreateThirdPartyDeliveryTask:
    post:
      tags:
      - Task
      operationId: Task_CreateThirdPartyDeliveryTask
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - name: dto
        in: body
        required: true
        schema:
          $ref: '#/definitions/TaskCreateDto'
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Task Tracking Ref
          schema:
            type: string
        '400':
          description: ''
        '401':
          description: Not logged in
        '403':
          description: Not authorized to Create shipments for Org
  /api/Task/CreateThirdPartyPickUpTask:
    post:
      tags:
      - Task
      operationId: Task_CreateThirdPartyPickUpTask
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - name: dto
        in: body
        required: true
        schema:
          $ref: '#/definitions/TaskCreateDto'
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Task Tracking Ref
          schema:
            type: string
        '400':
          description: ''
        '401':
          description: Not logged in
        '403':
          description: Not authorized to Create shipments for Org
  /api/Task/CreateThirdPartyExchangeTask:
    post:
      tags:
      - Task
      operationId: Task_CreateThirdPartyExchangeTask
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - name: dto
        in: body
        required: true
        schema:
          $ref: '#/definitions/ExchangeTaskCreateDto'
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Task Tracking Refs
          schema:
            type: string
        '400':
          description: ''
        '401':
          description: Not logged in
        '403':
          description: Not authorized to Create shipments for Org
  /api/Task/SearchTasksForMyOrg:
    get:
      tags:
      - Task
      operationId: Task_SearchTasksForMyOrg
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: string
        name: searchText
        in: query
        x-nullable: true
      - type: string
        name: taskType
        in: query
        x-nullable: true
      - type: string
        name: fromDate
        in: query
        x-nullable: true
      - type: string
        name: toDate
        in: query
        x-nullable: true
      - type: string
        name: highLevelStatus
        in: query
        x-nullable: true
      - type: integer
        name: pageNum
        in: query
        x-nullable: false
      - type: integer
        name: pageSize
        in: query
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Paginated Results
          schema:
            type: array
            items:
              $ref: '#/definitions/TaskDto'
        '401':
          description: Not logged in
  /api/Task/OrgCancelTask:
    post:
      tags:
      - Task
      operationId: Task_OrgCancelTask
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: string
        name: trackingRef
        in: query
        x-nullable: true
      responses:
        '200':
          x-nullable: false
          description: Cancelled Task
          schema:
            $ref: '#/definitions/TaskDto'
        '404':
          description: Invalid TrackingRef
        '412':
          description: Task's current state does not allow this action
        '400':
          description: Invalid request params
        '401':
          description: Not logged in
        '403':
          description: Not allowed to perform this action
        '409':
          description: Concurrent modification
  /api/Task/ValidateTaskImportCsv:
    post:
      tags:
      - Task
      operationId: Task_ValidateTaskImportCsv
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - name: csv
        in: body
        required: true
        schema:
          type: string
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: '`ValidatedRow`s'
          schema:
            type: array
            items:
              $ref: '#/definitions/ValidatedRow'
  /api/Task/ImportTasksToMyOrg:
    post:
      tags:
      - Task
      operationId: Task_ImportTasksToMyOrg
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      parameters:
      - name: bulk
        in: body
        required: true
        schema:
          $ref: '#/definitions/BulkTaskUploadDto'
        x-nullable: false
      responses:
        '204':
          description: Success
        '400':
          x-nullable: false
          description: When CSV has validation errors (if CSV is parsable, ValidatedRows are returned)
          schema:
            type: array
            items:
              $ref: '#/definitions/ValidatedRow'
        '401':
          description: When unauthenticated
        '403':
          description: When not authorized
  /api/Task/GetUnconsolidatedTasksForMyOrg:
    get:
      tags:
      - Task
      operationId: Task_GetUnconsolidatedTasksForMyOrg
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: integer
        name: pageNum
        in: query
        x-nullable: false
      - type: integer
        name: pageSize
        in: query
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Paginated Tasks
          schema:
            type: array
            items:
              $ref: '#/definitions/TaskDto'
        '401':
          description: Not logged in
        '403':
          description: Not authorized
  /api/Task/GetTasksWithFailureAlertsForMyOrg:
    get:
      tags:
      - Task
      operationId: Task_GetTasksWithFailureAlertsForMyOrg
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: integer
        name: pageNum
        in: query
        x-nullable: false
      - type: integer
        name: pageSize
        in: query
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Paginated List of FailureAlertDtos
          schema:
            type: array
            items:
              $ref: '#/definitions/FailureAlertDto'
        '401':
          description: Not logged in
        '403':
          description: Not authorized
  /api/Task/ConsolidateTasksForMyOrg:
    post:
      tags:
      - Task
      operationId: Task_ConsolidateTasksForMyOrg
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      parameters:
      - name: trackingRefs
        in: body
        required: true
        schema:
          type: array
          items:
            type: string
        x-nullable: false
      responses:
        '401':
          description: Not logged in
        '403':
          description: Not authorized
        '404':
          description: If one or more tracking refs is invalid
        '204':
          description: Ok
  /api/Task/CancelTasksForMyOrg:
    post:
      tags:
      - Task
      operationId: Task_CancelTasksForMyOrg
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      parameters:
      - name: trackingRefs
        in: body
        required: true
        schema:
          type: array
          items:
            type: string
        x-nullable: false
      responses:
        '401':
          description: Not logged in
        '403':
          description: Not authorized
        '404':
          description: If one or more tracking refs is invalid
        '204':
          description: Ok
  /api/Task/GetConsignmentsForMyOrg:
    get:
      tags:
      - Task
      operationId: Task_GetConsignmentsForMyOrg
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      responses:
        '200':
          x-nullable: false
          description: List of pending Consignments
          schema:
            type: array
            items:
              $ref: '#/definitions/ConsignmentDto'
        '401':
          description: Not logged in
        '403':
          description: Not authorized
  /api/Task/GetConsolidatedTasksForConsignmentInMyOrg:
    get:
      tags:
      - Task
      operationId: Task_GetConsolidatedTasksForConsignmentInMyOrg
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: string
        name: consignmentId
        in: query
        format: guid
        x-nullable: false
      - type: integer
        name: pageNum
        in: query
        x-nullable: false
      - type: integer
        name: pageSize
        in: query
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Paginated Tasks in Consignment
          schema:
            type: array
            items:
              $ref: '#/definitions/TaskDto'
        '401':
          description: Not logged in
        '403':
          description: Not authorized
  /api/Task/UpdateInstructionsForFailureAlertInMyOrg:
    post:
      tags:
      - Task
      operationId: Task_UpdateInstructionsForFailureAlertInMyOrg
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: string
        name: trackingRef
        in: query
        x-nullable: true
      - name: instructions
        in: body
        required: true
        schema:
          type: string
        x-nullable: false
      responses:
        '200':
          x-nullable: false
          description: Updated Task
          schema:
            $ref: '#/definitions/TaskDto'
        '404':
          description: Invalid TrackingRef
        '412':
          description: Task's current state does not allow this action
        '400':
          description: Invalid request params
        '401':
          description: Not logged in
        '403':
          description: Not allowed to perform this action
        '409':
          description: Concurrent modification
  /api/Task/GetLabelsPdf:
    get:
      tags:
      - Task
      operationId: Task_GetLabelsPdf
      parameters:
      - type: string
        name: trackingRefsCsv
        in: query
        x-nullable: true
      responses:
        '200':
          x-nullable: false
          description: PDF Bytes
          schema:
            type: string
            format: byte
        '404':
          description: Invalid TrackingRef
        '400':
          description: Invalid request params
  /api/Task/GetTaskAuditTrail:
    get:
      tags:
      - Task
      operationId: Task_GetTaskAuditTrail
      produces:
      - text/plain
      - text/csv
      - application/json
      - text/json
      parameters:
      - type: string
        name: trackingRef
        in: query
        x-nullable: true
      responses:
        '200':
          x-nullable: false
          description: Audit Trail
          schema:
            type: array
            items:
              $ref: '#/definitions/TaskAuditTrail'
        '404':
          description: Invalid TrackingRef
        '401':
          description: Not logged in
        '403':
          description: No access
definitions:
  TaskCreateDto:
    type: object
    required:
    - refId
    - physique
    - address
    - cashToCollect
    - stockValue
    - note
    properties:
      refId:
        type: string
        minLength: 1
      physique:
        $ref: '#/definitions/PhysiqueDto'
      address:
        $ref: '#/definitions/AddressInputDto'
      slotStart:
        $ref: '#/definitions/FSharpOptionOfDateTimeOffset'
      slotEnd:
        $ref: '#/definitions/FSharpOptionOfDateTimeOffset'
      cashToCollect:
        type: number
        format: decimal
      stockValue:
        type: number
        format: decimal
      note:
        type: string
        minLength: 1
      merchantPickupPointAddressId:
        $ref: '#/definitions/AddressId'
  TaskDto:
    type: object
    required:
    - cashToCollect
    - stockValue
    properties:
      trackingRef:
        type: string
      merchantRef:
        type: string
      physique:
        $ref: '#/definitions/PhysiqueDto'
      addressInfo:
        $ref: '#/definitions/AddressInfoDto'
      slotStart:
        $ref: '#/definitions/FSharpOptionOfDateTimeOffset'
      slotEnd:
        $ref: '#/definitions/FSharpOptionOfDateTimeOffset'
      cashToCollect:
        type: number
        format: decimal
      stockValue:
        type: number
        format: decimal
      weight:
        type: string
      status:
        type: string
      taskType:
        type: string
      merchantHub:
        $ref: '#/definitions/FSharpOptionOfString'
      notes:
        type: array
        items:
          $ref: '#/definitions/TaskNoteDto'
  TaskAuditTrail:
    type: object
    required:
    - lastActionOn
    - stateTransitionedOn
    properties:
      tripStatus:
        type: string
      lastActionOn:
        type: string
        format: date-time
      stateTransitionedOn:
        type: string
        format: date-time
      failedOrRejectReason:
        $ref: '#/definitions/FSharpOptionOfString'
  IComparerOfString:
    type: object
    x-abstract: true
  AddressId:
    type: object
  DeliveryAreaDto:
    type: object
    properties:
      id:
        $ref: '#/definitions/DeliveryAreaIdDto'
      name:
        type: string
  FSharpOptionOfString:
    type: object
  ValidatedRow:
    type: object
    properties:
      merchantRef:
        $ref: '#/definitions/ValidationResultOfString'
      name:
        $ref: '#/definitions/ValidationResultOfString'
      address:
        $ref: '#/definitions/ValidationResultOfString'
      phone:
        $ref: '#/definitions/ValidationResultOfString'
      amountToCollect:
        $ref: '#/definitions/ValidationResultOfUnsignedDecimal'
      stockValue:
        $ref: '#/definitions/ValidationResultOfUnsignedDecimal'
      note:
        $ref: '#/definitions/ValidationResultOfString'
  TupleOfStringAndTaskDto:
    type: object
    required:
    - item1
    - item2
    properties:
      item1:
        type: string
      item2:
        $ref: '#/definitions/TaskDto'
  ExchangeTaskCreateDto:
    type: object
    required:
    - refId
    - deliveryPhysique
    - pickUpPhysique
    - address
    - cashToCollect
    - deliveryStockValue
    - pickUpStockValue
    - note
    properties:
      refId:
        type: string
        minLength: 1
      deliveryPhysique:
        $ref: '#/definitions/PhysiqueDto'
      pickUpPhysique:
        $ref: '#/definitions/PhysiqueDto'
      address:
        $ref: '#/definitions/AddressInputDto'
      slotStart:
        $ref: '#/definitions/FSharpOptionOfDateTimeOffset'
      slotEnd:
        $ref: '#/definitions/FSharpOptionOfDateTimeOffset'
      cashToCollect:
        type: number
        format: decimal
      deliveryStockValue:
        type: number
        format: decimal
      pickUpStockValue:
        type: number
        format: decimal
      note:
        type: string
        minLength: 1
      merchantPickupPointAddressId:
        $ref: '#/definitions/AddressId'
  ConfidenceLevelDto:
    type: object
  FSharpMapOfStringAndString:
    type: object
    required:
    - IsEmpty
    - Count
    properties:
      comparer@686:
        $ref: '#/definitions/IComparerOfString'
      tree@690:
        $ref: '#/definitions/MapTreeOfStringAndString'
      serializedData:
        type: array
        items:
          $ref: '#/definitions/KeyValuePairOfStringAndString'
      Comparer:
        $ref: '#/definitions/IComparerOfString'
      Tree:
        $ref: '#/definitions/MapTreeOfStringAndString'
      IsEmpty:
        type: boolean
      Item:
        type: string
      Count:
        type: integer
        format: int32
      Keys:
        type: array
        items:
          type: string
      Values:
        type: array
        items:
          type: string
      MinKeyValue:
        $ref: '#/definitions/TupleOfStringAndString'
      MaxKeyValue:
        $ref: '#/definitions/TupleOfStringAndString'
  FSharpOptionOfDateTimeOffset:
    type: object
  AddressInputDto:
    type: object
    x-abstract: true
  FSharpOptionOfGeoLocationDto:
    type: object
  AddressIdDto:
    type: object
  DeliveryAreaIdDto:
    type: object
  TupleOfStringAndString:
    type: object
    required:
    - item1
    - item2
    properties:
      item1:
        type: string
      item2:
        type: string
  FailureAlertDto:
    type: object
    properties:
      task:
        $ref: '#/definitions/TaskDto'
      message:
        type: string
  MapTreeOfStringAndString:
    type: object
  PhysiqueDto:
    type: object
    x-abstract: true
  FSharpMapOfStringAndTaskDto:
    type: object
    required:
    - IsEmpty
    - Count
    properties:
      comparer@686:
        $ref: '#/definitions/IComparerOfString'
      tree@690:
        $ref: '#/definitions/MapTreeOfStringAndTaskDto'
      serializedData:
        type: array
        items:
          $ref: '#/definitions/KeyValuePairOfStringAndTaskDto'
      Comparer:
        $ref: '#/definitions/IComparerOfString'
      Tree:
        $ref: '#/definitions/MapTreeOfStringAndTaskDto'
      IsEmpty:
        type: boolean
      Item:
        $ref: '#/definitions/TaskDto'
      Count:
        type: integer
        format: int32
      Keys:
        type: array
        items:
          type: string
      Values:
        type: array
        items:
          $ref: '#/definitions/TaskDto'
      MinKeyValue:
        $ref: '#/definitions/TupleOfStringAndTaskDto'
      MaxKeyValue:
        $ref: '#/definitions/TupleOfStringAndTaskDto'
  ConsignmentDto:
    type: object
    required:
    - id
    - requestTime
    properties:
      id:
        type: string
        format: guid
      requestTime:
        type: string
        format: date-time
      trackingRefToStatus:
        $ref: '#/definitions/FSharpMapOfStringAndString'
  TaskNoteDto:
    type: object
    required:
    - noteId
    - createdOn
    - createdBy
    properties:
      noteId:
        type: string
        format: guid
      createdOn:
        type: string
        format: date-time
      createdBy:
        type: string
        format: guid
      note:
        type: string
  ValidationResultOfString:
    type: object
    x-abstract: true
  KeyValuePairOfStringAndString:
    type: object
    required:
    - key
    - value
    properties:
      key:
        type: string
      value:
        type: string
  MapTreeOfStringAndTaskDto:
    type: object
  ValidationResultOfUnsignedDecimal:
    type: object
    x-abstract: true
  KeyValuePairOfStringAndTaskDto:
    type: object
    required:
    - key
    - value
    properties:
      key:
        type: string
      value:
        $ref: '#/definitions/TaskDto'
  AddressInfoDto:
    type: object
    required:
    - identity
    properties:
      address:
        $ref: '#/definitions/AddressIdDto'
      identity:
        type: string
        format: guid
      fullName:
        type: string
      streetAddress:
        type: string
      phoneNumber:
        type: string
      deliveryArea:
        $ref: '#/definitions/DeliveryAreaDto'
      customerHub:
        type: string
      geoLocation:
        $ref: '#/definitions/FSharpOptionOfGeoLocationDto'
      confidenceLevel:
        $ref: '#/definitions/ConfidenceLevelDto'
  BulkTaskUploadDto:
    type: object
    required:
    - merchantPickupPointAddressId
    properties:
      csv:
        type: string
      merchantPickupPointAddressId:
        type: integer
        format: int32
x-generator: NSwag v13.10.8.0 (NJsonSchema v10.3.11.0 (Newtonsoft.Json v13.0.0.0))