openapi: 3.0.0
info:
  title: Validate eLoad Credit/Incentive Transfer
  description: Validates a credit or incentive transfer request between eLoad accounts.
paths:
  /api/rest:
    post:
      summary: validateeLoadTransfer
      description: Validates a credit or incentive transfer request between eLoad accounts.
      operationId: validateeLoadTransfer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                access_token:
                  type: string
                  maxLength: 500
                  description: API Gateway access token
                method:
                  type: string
                  maxLength: 64
                  description: API name
                  example: validateeLoadTransfer
                version:
                  type: string
                  maxLength: 10
                  description: API version
                  example: '1.0'
                content:
                  type: object
                  description: Refer to content for detail
                  properties:
                    msgId:
                      type: string
                      maxLength: 30
                      description: Unique Message ID generated by 3rd party system.
                      example: '046202504231230450001'
                    channel:
                      type: string
                      maxLength: 20
                      description: Channel name where the request originates.
                      example: UMB
                    fromMsisdn:
                      type: string
                      description: MSISDN transferring credit from.
                      example: '601112345678'
                    fromOrgCode:
                      type: string
                      description: Organization code initiating the transfer.
                      example: ORG001
                    toMsisdn:
                      type: string
                      description: MSISDN receiving the credit/incentive.
                      example: '601112345679'
                    toOrgCode:
                      type: string
                      description: Receiving organization code.
                      example: ORG002
                    toEloadNbr:
                      type: string
                      description: eLoad number to receive credit.
                      example: '10000001'
                    walletType:
                      type: string
                      description: Wallet type used in transfer.
                      example: Main Wallet
                    userCode:
                      type: string
                      description: ZSmart UPortal user ID.
                      example: user123
                    password:
                      type: string
                      description: Encrypted password (RSA).
                      example: <RSA_ENCRYPTED_PASSWORD>
                    pin:
                      type: string
                      description: Encrypted PIN (RSA).
                      example: <RSA_ENCRYPTED_PIN>
                    amount:
                      type: string
                      description: Transfer amount.
                      example: '50.00'
                  required:
                    - msgId
                    - channel
                    - toMsisdn
                    - amount
      responses:
        '200':
          description: Validation result
          content:
            application/json:
              schema:
                type: object
                properties:
                  res_code:
                    type: string
                    maxLength: 10
                    description: Response code, "00000" for success.
                    example: '00000'
                  res_message:
                    type: string
                    maxLength: 255
                    description: Response message.
                    example: Operation success
                  result:
                    type: object
                    description: Validation result detail.
                    properties:
                      resultCode:
                        type: string
                        maxLength: 60
                        description: Result status code.
                        example: DBEP0000
                      resultMsg:
                        type: string
                        maxLength: 255
                        description: Result description.
                        example: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error_code:
                    type: string
                    description: Specific error code for the failure.
                  error_message:
                    type: string
                    description: Detailed error message.
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error_code:
                    type: string
                    description: Specific error code for the failure.
                  error_message:
                    type: string
                    description: Detailed error message.
components: {}
