MTN LogBack V1

Facility to query failed transactions.

OpenAPI Specification

mtn-group-logback-v1.yml Raw ↑
swagger: "2.0"
info:
  version: "Swagger 2.0"
  title: "Logback Failure Service"
schemes:
  - https
host: "api.mtn.com"
basePath: "/v1"

consumes:
  - "application/json"
produces:
  - "application/json"


securityDefinitions:
  ApiKeyAuth:
    type: "apiKey"
    name: "X-API-Key"
    in: "header"
  OAuth2:
    type: oauth2
    flow: application
    tokenUrl: 'https://api.mtn.com/v1/oauth/access_token'
security:
  - OAuth2: []
  - ApiKeyAuth: []

paths:
  "/logback":
    post:
      operationId: "Query logback failure"
      tags:
        - "Query By Data"
      summary: "Query logback failure"
      description: "Query logback failure"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      parameters:
        - in: "body"
          name: "body"
          description: "Query Data"
          required: true
          schema:
            "$ref": "#/definitions/queryData"
      responses:
        '200':
          description: "Success"
          schema:
            $ref: "#/definitions/response"
        '400' :
          description: "Bad request"
          schema:
            $ref: "#/definitions/clientErrorResponse"
        '500' :
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/serverErrorResponse"

  "/logback/{transactionId}":
    get:
      operationId: "Query logback by transaction ID"
      tags:
        - "Query By Transaction ID"
      summary: "Query logback by transaction ID"
      description: "Query logback by transaction ID"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      parameters:
        - in: path
          name: transactionId
          type: string
          required: true
      responses:
        '200':
          description: "Success"
          schema:
            $ref: "#/definitions/response"
        '400' :
          description: "Bad request"
          schema:
            $ref: "#/definitions/clientErrorResponse"
        '500' :
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/serverErrorResponse"

  "/logback/opco":
    get:
      operationId: "Query logback by targetURL and country code"
      tags:
        - "Query logback by targetURL and country code"
      summary: "Query logback by targetURL and country code"
      description: "Query logback by targetURL and country code"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      parameters:
        - in: query
          name: countryCode
          type: string
          required: true
        - in: query
          name: targetURL
          type: string
          required: true
        - in: query
          name: requestType
          type: string
          required: true
          enum:
            - USSD
            - PAYMENT
            - SMS
            - SUBSCRIBE
            - UNSUBSCRIBE
            - AIRTIME
            - RENEWAL
            - SUSPEND
            - MOCALLBACK
            - NIN_STATUS
            - SIMSWAPNOTIFICATION
            - OTHERS
        - in: query
          name: page
          type: integer
          required: true
        - in: query
          name: size
          type: integer
          required: true
      responses:
        '200':
          description: "Success"
          schema:
            $ref: "#/definitions/response"
        '400' :
          description: "Bad request"
          schema:
            $ref: "#/definitions/clientErrorResponse"
        '500' :
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/serverErrorResponse"

definitions:
  queryData:
    type: object
    required:
      - targetUrl
      - requestType
      - countryCode
    properties:
      targetUrl:
        type: string
      requestType:
        type: string
      countryCode:
        type: string

  response:
    type: object
    properties:
      statusCode:
        type: string
      statusMessage:
        type: string
      data:
        type: array
        items:
          $ref: "#/definitions/responseData"

  responseData:
    type: object
    properties:
      requestType:
        type: string
      created:
        type: string
        format: date
      payload:
        type: object
      header:
        type: object
      targetUrl:
        type: string
      error:
        type: object
      status:
        type: string
      source:
        type: string
      transactionId:
        type: string
      countryCode:
        type: string

  serverErrorResponse:
    type: object
    properties:
      statusCode:
        type: string
      statusMessage:
        type: string
      data:
        type: string

  clientErrorResponse:
    type: object
    properties:
      timestamp:
        type: string
        format: date
      status:
        type: string
      error:
        type: string
      message:
        type: string
      path:
        type: string