AMCS Group Mobills IVR API

The Mobills IVR API from AMCS Group — 3 operation(s) for mobills ivr.

Specifications

OpenAPI Specification

amcs-group-mobills-ivr-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Core AccessGroup Mobills IVR API
  version: core
tags:
- name: Mobills IVR
paths:
  /Mobills/Ivr/Pay/GetCustomerInvoiceDetails:
    post:
      tags:
      - Mobills IVR
      summary: Get Customer Invoice Details
      description: "This endpoint creates a record in payment transaction table.\n\n## Request\n\n| Property                  | Description  |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n| CustomerARCode                      | The account code used for Accounts Receivable.        (AMCS will provide the account ARCode)                             |\r\n| Channel               | Channel can be only MOBILL OR IVR                         | \n\n ## Response\n\n| Property                  | Description  |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n| CustomerGuid                 | The GUID associated to the customer.        |\r\n| CustomerName               |The customer's name.        |\r\n| CustomerBalance               |The amount associated to the payment.        |\r\n| CustomerCurrency               | Customer Currency associated with the Customer account.        |\r\n| InvoiceDetails               |It will show all the invoices associated with the account               |\r\n| InvoiceNumber                   |The invoice number associated to the invoice. Filterable.        |\r\n| InvoiceGUID                     |The GUID associated to the invoice.        |\r\n| InvoiceDate                     |The invoiceDate associated to the invoice in ISO format (YYYY-MM-DD).        |\r\n| ZipCode                         |Zip code is associated with the account               |\r\n| InvoiceDueDate                  |The dueDate associated to the invoice in ISO format (YYYY-MM-DD).        |\r\n| UnallocatedAmount               |The Unallocated Amount on the customers account.        |\r\n| InvoiceCurrency                 |Invoice Currency asscoaited with the customer account             |\r\n| TransactionReference            |Transaction Reference associated with account                 |\r\n| ZipCode                         |ZipCode associated with the account address                                |\r\n| InvoiceDate                     |The invoiceDate associated to the invoice in ISO format (YYYY-MM-DD).        |\r\n| LastPaymentDate                 |When the last payment was made                     |\r\n| MakePaymentLink                 |It shows the payment link (if any invoice available)                     |\r\n| IsActive                 |Whether the customer is active              |\r\n| MobillsEnrollment               |Whether the mobills enrollment is active.              |\r\n| GUID         |Guid associated with the account"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AMCSPayMobillsIvrRequest'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayMobillsIvrResponse'
        '204':
          description: No Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayErrorContentResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayErrorResponse'
  /payACIInteractiveVoiceResponse:
    post:
      tags:
      - Mobills IVR
      summary: Post Back IVR Response
      description: "This endpoint updates an existing record in the payment transaction table and creates a record in the Amcs-Pay Database.\n\n## Request\n\n| Property                  | Description  |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n| TransactionReference                      | The Transaction Reference can get from the GetCustomerInvoce API.                           |\r\n| PaymentAmount               | The payment amount associated to the payment request.  |\r\n| Currency               | Currency associated with the Customer account.|\r\n| Timestamp                     | The time stamp associated to the response payload. |\r\n| TransactionPaymentType                     | Transaction payment type can be any of \"CARD\", \"ACH\".  |\r\n| IsIVR                     |IsIVR is a flag and should be set to true..  |\r\n| Code                     |The codes for successfully processed transactions.  |\r\n| Description                     |Description associated with the Code.  |\r\n| Bin                     |The first six digits of the card.number. |\r\n| Last4Digits                     |Last 4 digits of the \"Credit\", \"Debit\" Card.  |\r\n| PaymentType                     |Payment Type DB, Debit: Debits the account of the end customer and credits the merchant account. |\r\n| Holder                     |Holder of the credit card account. |\r\n| ExpiryMonth                    | The expiry month of the card. |\r\n| ExpiryYear                     |The expiry year of the card. |\r\n| ConfirmationNumber                     |The Confirmation Number (payment reference) data sent by the provider associated to the original payment response.| \n\n ## Response\n\n| Property                  | Description  |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n|  |\r\n| Response                     |It returns the success response."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AMCSPayPostBackIvrRequest'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayIvrResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayErrorResponse'
  /ivr/pay/getCustomerAccountDetail:
    post:
      tags:
      - Mobills IVR
      summary: Get Customer Account Detail
      description: "If the credit balance flag is false, then this endpoint initiates a payment for the IVR and returns the customer's details. If it's true, then it returns the customer's name along with the available credit balance in the account.\n\n## Request\n\n| Property                  | Description  |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n| CustomerARCode                      | The account code used for Accounts Receivable.        (AMCS will provide the account ARCode)                             |\r\n| Channel               | Channel can be only MOBILL OR IVR.   |\r\n| Amount               | Amount that customer wants to make a payment. |\r\n| CreditBalance               | The credit balance flag can be true or false.                       | \n\n ## Response\n\n| Property                  | Description  |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n| CustomerId                      | The account code used for Accounts Receivable.        (AMCS will provide the account ARCode) |\r\n|CustomerGuid                 | The GUID associated to the customer.        |\r\n| CustomerName               |The customer's name.   |\r\n| CustomerBalance               |The amount associated to the payment.|\r\n| CustomerCurrency               | Customer Currency associated with the Customer account.|\r\n| CreditBalance               |The Credit Balance available balance.|\r\n| ZipCode                         |ZipCode associated with the account address                            |\r\n| LastPaymentAmount                 |what was the last payment amount.    |\r\n| LastPaymentDate                 |When the last payment was made. |\r\n| TransactionReference            |Transaction Reference associated with account."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AMCSPayAccountDetailIvrRequest'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayAccountDetailIvrResponse'
        '204':
          description: No Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayErrorContentResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMCSPayErrorResponse'
components:
  schemas:
    AMCSPayAccountDetailIvrRequest:
      type: object
      required:
      - customerARCode
      - channel
      - amount
      properties:
        customerARCode:
          type: string
          example: ACC1007
          nullable: false
        channel:
          type: string
          example: MOBILL / IVR
          nullable: false
        amount:
          type: integer
          example: 10
          nullable: true
        creditBalance:
          type: boolean
          example: true
          nullable: true
      additionalProperties: false
    AMCSPayInvoiceDetails:
      type: object
      properties:
        invoiceNumber:
          type: string
          example: INV001
          nullable: false
        invoiceGUID:
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
          type: string
          nullable: false
        invoiceDate:
          type: string
          example: YYYY-MM-DD
          nullable: false
        zipCode:
          type: string
          example: '00501'
          nullable: true
        invoiceDueDate:
          type: string
          example: YYYY-MM-DD
          nullable: false
        unallocatedAmount:
          type: integer
          example: '120.95'
          nullable: true
        invoiceCurrency:
          type: string
          example: EUR
          nullable: false
      additionalProperties: false
    AMCSPayIvrResponse:
      type: object
      example: Success
    AMCSPayErrorContentResponse:
      type: string
      nullable: true
    AMCSPayErrorResponse:
      type: object
      properties:
        message:
          type: string
          example: error message
          nullable: true
          description: The exception message.
        type:
          type: string
          example: error message
          nullable: true
          description: The type of exception thrown.
        stackTrace:
          type: string
          example: error message
          nullable: true
          description: The stack trace of the error encountered.
    AMCSPayAccountDetailIvrResponse:
      type: object
      properties:
        creditBalanceAsTrue:
          type: array
          items:
            $ref: '#/components/schemas/AMCSPayAccountDetailIvrResponseCreditBalanceResponse'
          nullable: true
        creditBalanceAsFalse:
          type: array
          items:
            $ref: '#/components/schemas/AMCSPayAccountDetailIvrResponseCreditBalanceAsFalse'
          nullable: true
    AMCSPayMobillsIvrRequest:
      type: object
      required:
      - customerARCode
      - channel
      - amount
      properties:
        customerARCode:
          type: string
          example: ACC1007
          nullable: false
        channel:
          type: string
          example: MOBILL / IVR
          nullable: false
      additionalProperties: false
    AMCSPayAccountDetailIvrResponseCreditBalanceResponse:
      type: object
      properties:
        customerid:
          format: string
          type: string
          example: ACC1001
          nullable: false
        customerName:
          type: string
          example: Mark Smith
          nullable: false
        creditBalance:
          type: integer
          example: '200.00'
          nullable: true
    AMCSPayAccountDetailIvrResponseCreditBalanceAsFalse:
      type: object
      properties:
        customerid:
          format: uuid
          type: string
          example: ACC1001
          nullable: false
        customerGuid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
          nullable: false
        customerName:
          type: string
          example: Mark Smith
          nullable: false
        customerBalance:
          type: integer
          example: '120.95'
          nullable: true
        customerCurrency:
          type: string
          example: EUR
        creditBalance:
          type: integer
          example: '200.00'
          nullable: true
        zipCode:
          type: string
          example: '00501'
          nullable: true
        lastPaymentAmount:
          type: string
          example: '155.50'
          nullable: true
        lastPaymentDate:
          type: string
          example: YYYY-MM-DD
          nullable: true
        transactionReference:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
          nullable: true
    AMCSPayPostBackIvrRequest:
      type: object
      required:
      - transactionReference
      - paymentAmount
      - currency
      - timestamp
      - transactionPaymentType
      - isIVR
      - code
      - description
      - bin
      - last4Digits
      - paymentType
      - holder
      - expiryMonth
      - expiryYear
      - confirmationNumber
      properties:
        transactionReference:
          type: string
          format: uuid
          nullable: false
          example: c4521490-c0dd-40e5-94c6-afe90073aa1b
        paymentAmount:
          type: integer
          example: 10.2
          nullable: false
        currency:
          type: string
          example: EUR
          nullable: false
        timestamp:
          type: string
          format: datetime
          example: 2021-10-21-17:20:30
          nullable: false
        transactionPaymentType:
          type: string
          example: Credit Card
          nullable: false
        isIVR:
          type: boolean
          example: 'true'
          nullable: false
        code:
          type: string
          example: 000.100.112
          nullable: false
        description:
          type: string
          example: Request successfully processed in 'Merchant In Connect
          nullable: false
        bin:
          type: string
          example: '545454'
          nullable: false
        last4Digits:
          type: string
          example: '5454'
          nullable: false
        paymentType:
          type: string
          example: DB
          nullable: false
        holder:
          type: string
          example: SK_Test
          nullable: false
        expiryMonth:
          type: string
          example: '06'
          nullable: false
        expiryYear:
          type: string
          example: '2034'
          nullable: false
        confirmationNumber:
          type: string
          format: uuid
          nullable: false
          example: c4521490-c0dd-40e5-94c6-afe90073aa1b
      additionalProperties: false
    AMCSPayMobillsIvrResponse:
      type: object
      properties:
        customerGuid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
          nullable: false
        customerName:
          type: string
          example: Mark Smith
          nullable: false
        customerBalance:
          type: integer
          example: '120.95'
          nullable: true
        customerCurrency:
          type: string
          example: EUR
        invoiceDetails:
          type: object
          $ref: '#/components/schemas/AMCSPayInvoiceDetails'
        transactionReference:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
          nullable: true
        zipCode:
          type: string
          example: '00501'
          nullable: true
        dueDate:
          type: string
          example: YYYY-MM-DD
          nullable: true
        invoiceDate:
          type: string
          example: YYYY-MM-DD
          nullable: true
        lastPaymentDate:
          type: string
          example: YYYY-MM-DD
          nullable: true
        lastPaymentAmount:
          type: string
          example: '155.50'
          nullable: true
        makePaymentLink:
          format: url
          type: string
          example: https://localhost/paybylink?key=092159d8-9e57-41a5-af6c-745bd45ff2f7
          nullable: true
        isActive:
          type: boolean
          example: 'true'
        mobillsEnrollment:
          type: boolean
          example: 'true'
        guid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
          nullable: true