Newstore Reason Codes API

Reason Codes API.

OpenAPI Specification

newstore-reason-codes-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: '1.0'
  title: NewStore address Reason Codes API
  description: NewStore public APIs
  contact:
    email: support@newstore.com
    name: NewStore API Support
    url: https://developer.newstore.com
host: dodici-demo.p.newstore.net
basePath: /
schemes:
- https
consumes:
- application/json
produces:
- application/json
security: []
tags:
- name: Reason Codes
  description: Reason Codes API.
paths:
  /promotions/reason-codes:
    get:
      description: Retrieves reason codes per locale
      summary: listReasonCodes
      tags:
      - Reason Codes
      operationId: listReasonCodes
      deprecated: false
      produces:
      - application/problem+json
      - application/json
      parameters:
      - name: Accept-Language
        in: header
        required: false
        type: string
        description: The locale of reason codes. if not present all codes from all locales are returned.
      - name: feature
        in: query
        required: false
        enum:
        - DISCOUNT
        - OVERRIDE
        default: DISCOUNT
        type: string
        description: Indicates the feature of the reason code.
      responses:
        default:
          description: Error response
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '200':
          description: Retrieves reason codes per locale
          schema:
            $ref: '#/definitions/ListResponse'
          headers: {}
        '400':
          description: Locale does not match regex
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '401':
          description: Unauthorized request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '403':
          description: Forbidden request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '404':
          description: When no reason codes exist for the tenant or for the given locale
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/Problem'
          headers:
            Retry-After:
              type: string
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '502':
          description: Bad Gateway
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
      security:
      - oauth:
        - promotions:reason-codes:read
    post:
      description: Creates a new reason code
      summary: createReasonCode
      tags:
      - Reason Codes
      operationId: createReasonCode
      deprecated: false
      produces:
      - application/problem+json
      consumes:
      - application/json
      parameters:
      - name: Content-Type
        in: header
        required: false
        enum:
        - application/json
        type: string
        description: ''
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/ReasonCodeInit'
      - name: Accept-Language
        in: header
        required: false
        default: en-US
        type: string
        description: The locale that the reasons codes belong to.
      - name: feature
        in: query
        required: false
        enum:
        - DISCOUNT
        - OVERRIDE
        default: DISCOUNT
        type: string
        description: Indicates the feature of the reason code.
      responses:
        default:
          description: Error response
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '201':
          description: Reason code was created
          headers: {}
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '401':
          description: Unauthorized request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '403':
          description: Forbidden request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '409':
          description: Reason code already exist
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/Problem'
          headers:
            Retry-After:
              type: string
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '502':
          description: Bad Gateway
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
      security:
      - oauth:
        - promotions:reason-codes:write
  /promotions/reason-codes/{code}:
    delete:
      description: Delete a reason code
      summary: destroyReasonCode
      tags:
      - Reason Codes
      operationId: destroyReasonCode
      deprecated: false
      produces:
      - application/problem+json
      parameters:
      - name: code
        in: path
        required: true
        type: string
        maxLength: 256
        description: An identifier of a reason code.
      - name: Accept-Language
        in: header
        required: false
        default: en-US
        type: string
        description: The locale of the reason code.
      - name: feature
        in: query
        required: false
        enum:
        - DISCOUNT
        - OVERRIDE
        default: DISCOUNT
        type: string
        description: Indicates the feature of the reason code.
      responses:
        default:
          description: Error response
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '204':
          description: The reason code was deleted.
          headers: {}
        '401':
          description: Unauthorized request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '403':
          description: Forbidden request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '404':
          description: Reason code does not exist
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/Problem'
          headers:
            Retry-After:
              type: string
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '502':
          description: Bad Gateway
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
      security:
      - oauth:
        - promotions:reason-codes:write
    get:
      description: Retrieves a reason code with all localisations
      summary: showReasonCode
      tags:
      - Reason Codes
      operationId: showReasonCode
      deprecated: false
      produces:
      - application/problem+json
      - application/json
      parameters:
      - name: code
        in: path
        required: true
        type: string
        maxLength: 256
        description: An identifier of a reason code.
      - name: feature
        in: query
        required: false
        enum:
        - DISCOUNT
        - OVERRIDE
        default: DISCOUNT
        type: string
        description: Indicates the feature of the reason code.
      responses:
        default:
          description: Error response
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '200':
          description: Retrieves reason code with all localisations
          schema:
            $ref: '#/definitions/GetResponse'
          headers: {}
        '401':
          description: Unauthorized request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '403':
          description: Forbidden request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '404':
          description: Reason code does not exist
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/Problem'
          headers:
            Retry-After:
              type: string
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '502':
          description: Bad Gateway
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
      security:
      - oauth:
        - promotions:reason-codes:read
    patch:
      description: Update the name of the reason code.
      summary: updateReasonCode
      tags:
      - Reason Codes
      operationId: updateReasonCode
      deprecated: false
      produces:
      - application/problem+json
      consumes:
      - application/json
      parameters:
      - name: code
        in: path
        required: true
        type: string
        maxLength: 256
        description: An identifier of a reason code.
      - name: Content-Type
        in: header
        required: false
        enum:
        - application/json
        type: string
        description: ''
      - name: Accept-Language
        in: header
        required: false
        default: en-US
        type: string
        description: The locale of the reason code.
      - name: feature
        in: query
        required: false
        enum:
        - DISCOUNT
        - OVERRIDE
        default: DISCOUNT
        type: string
        description: Indicates the feature of the reason code.
      - name: body
        in: body
        required: false
        description: ''
        schema:
          $ref: '#/definitions/ReasonCodePatch'
      responses:
        default:
          description: Error response
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '204':
          description: The reason code was updated.
          headers: {}
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '401':
          description: Unauthorized request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '403':
          description: Forbidden request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '404':
          description: Reason code does not exist
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/Problem'
          headers:
            Retry-After:
              type: string
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '502':
          description: Bad Gateway
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
      security:
      - oauth:
        - promotions:reason-codes:write
definitions:
  ReasonCodePatch:
    title: ReasonCodePatch
    example:
      name: defect
    type: object
    properties:
      name:
        description: The name of the reason code.
        type: string
    required:
    - name
  Problem:
    title: Problem
    type: object
    properties:
      detail:
        description: A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
        example: some description for the error situation
        type: string
      error_code:
        type: string
      instance:
        description: A URI reference that identifies the specific occurrence of the problem, e.g. by adding a fragment identifier or sub-path to the problem type. May be used to locate the root of this problem in the source code.
        example: /some/uri-reference#specific-occurrence-context
        type: string
      message:
        type: string
      messages:
        type: array
        items:
          type: string
      request_id:
        type: string
      status:
        description: The HTTP status code generated by the origin server for this occurrence of the problem.
        type: integer
        minimum: 100.0
        maximum: 600.0
        exclusiveMaximum: true
        format: int32
      title:
        description: A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
        example: some title for the error situation
        type: string
      type:
        description: A URI reference that uniquely identifies the problem type only in the context of the provided API. Opposed to the specification in RFC-7807, it is neither recommended to be dereferenceable and point to a human-readable documentation nor globally unique for the problem type.
        example: /some/uri-reference
        type: string
        default: about:blank
  ReasonCodeInit:
    title: ReasonCodeInit
    example:
      code: DFT
      name: defect
    type: object
    properties:
      code:
        description: An identifier of the reason code, pattern is '^[^+=%]+$'
        type: string
        maxLength: 256
      name:
        description: The name of the reason code.
        type: string
    required:
    - code
    - name
  ListResponse:
    title: ListResponse
    type: object
    properties:
      codes:
        type: array
        items:
          $ref: '#/definitions/LocalizedReasonCode'
    required:
    - codes
  LocalizedReasonCode:
    title: LocalizedReasonCode
    example:
      code: DFT
      locale: en-us
      name: defect
    type: object
    properties:
      code:
        description: An identifier of the reason code, pattern is '^[^+=%]+$'
        type: string
        maxLength: 256
      locale:
        description: The locale of the reason code, pattern is '(^[a-z]{2}-[A-Za-z]{2}$)'
        type: string
      name:
        type: string
    required:
    - code
    - locale
    - name
  GetResponse:
    title: GetResponse
    type: object
    properties:
      code:
        description: An identifier of the reason code, pattern is '^[^+=%]+$'
        type: string
        maxLength: 256
      localizations:
        type: array
        items:
          $ref: '#/definitions/Localization'
    required:
    - code
    - localizations
  Localization:
    title: Localization
    example:
      locale: en-us
      name: defect
    type: object
    properties:
      locale:
        description: The locale of the reason code, pattern is '(^[a-z]{2}-[A-Za-z]{2}$)'
        type: string
      name:
        description: The name of the reason code.
        type: string
    required:
    - locale
    - name
securityDefinitions:
  oauth:
    type: oauth2
    flow: application
    tokenUrl: https://id.p.newstore.net/auth/realms/dodici-demo/protocol/openid-connect/token
    scopes:
      catalog:import-schemas:read: Grants privileges to read import schema
      catalog:import-schemas:write: Grants privileges to write import schema
      catalog:pricebook-export:read: Grants privileges to export pricebook data
      catalog:product-export:read: Grants privileges to export product data
      checkout:carts:read: Grants privileges to read cart data
      checkout:carts:write: Grants privileges to write cart data
      clienteling:profile:read: Grants privileges to read clienteling profiles
      customer:profile:read: Grants privileges to read API customer data
      customer:profile:write: Grants privileges to modify API customer data
      newstore:configuration:read: Grants privileges to read configuration
      newstore:configuration:write: Grants privileges to write configuration
      fiscalization:orders:read: View orders with fiscal transactions and signatures
      fiscalization:orders:write: Create orders with fiscal transactions and signatures
      shipments:read: Read Shipping Options and Audits
      iam:providers:read: ' Grants read privileges to provider resources'
      iam:providers:write: ' Grants write privileges to provider resources'
      iam:roles:read: ' Grants privileges to read roles data'
      iam:roles:write: ' Grants privileges to write roles data'
      iam:users:read: ' Grants privileges to read user data'
      iam:users:write: ' Grants privileges to write user data'
      inventory:reservations:read: Allows access to retrieve reservations
      inventory:reservations:write: Allows access to create and update reservations
      promotions:config:read: Grants privileges to read configuration
      promotions:config:write: Grants privileges to write into configuration
      promotions:reason-codes:read: Grants privileges to list reason codes
      promotions:reason-codes:write: Grants privileges to create and update reason codes
      audit-events:read: Grants read access to the tenant's audit events.
      taxes:preview-transactions:write: Preview tax transactions
      taxes:transactions:read: Read tax transactions