--- swagger: "2.0" info: x-ibm-name: sibs-mbway-associator-stub-api title: API MB WAY Loyalty Onboarding version: 1.0.6 description: API MB WAY Loyalty Onboarding allows you to provide fully digital onboarding experience to your Loyalty Program Customers. schemes: - https basePath: / consumes: - application/json produces: - application/json securityDefinitions: x-ibm-client-id: type: apiKey in: header name: X-IBM-Client-Id security: - x-ibm-client-id: [] x-ibm-configuration: testable: true enforced: true phase: realized paths: /sibs/v1-0-0/loyalty-program-association: post: operationId: loyaltyProgramAssociationRequest tags: - Loyalty Program Association Request summary: Creates a Loyalty Program Association resource at the SIBS API Management. description: Creates a Loyalty Program Association resource at the SIBS API Management. parameters: - $ref: '#/parameters/Digest' - $ref: '#/parameters/TPP-Transaction-ID' - $ref: '#/parameters/TPP-Request-ID' - $ref: '#/parameters/PSU-Agent' - $ref: '#/parameters/PSU-IP-Address' - $ref: '#/parameters/PSU-Geo-Location' - $ref: '#/parameters/PSU-Device-ID' - $ref: '#/parameters/PSU-Device-Fingerprint' - $ref: '#/parameters/LoyaltyProgramAssociationRequest' responses: 201: description: Created headers: Location: type: string description: Location of the created resource. schema: $ref: '#/definitions/LoyaltyProgramAssociationResponseResource' 400: description: Bad Request. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 401: description: Unauthorized. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 403: description: Forbidden. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 404: description: Not Found. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 405: description: Method Not Allowed. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 406: description: Not Acceptable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 408: description: Request Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 415: description: Unsupported Media Type. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 429: description: Too Many Requests. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 500: description: Internal Server Error. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 503: description: Service Unavailable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 504: description: Gatewaty Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' /sibs/v1-0-0/loyalty-program-association/{association-id}/status: get: responses: 200: description: 200 OK headers: TPP-Request-ID: type: string description: ID of the request, unique to the call, as determined by the initiating party. schema: $ref: '#/definitions/LoyaltyProgramAssociationStatusResponseResource' 400: description: Bad Request. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 401: description: Unauthorized. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 403: description: Forbidden. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 404: description: Not Found. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 405: description: Method Not Allowed. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 406: description: Not Acceptable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 408: description: Request Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 415: description: Unsupported Media Type. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 429: description: Too Many Requests. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 500: description: Internal Server Error. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 503: description: Service Unavailable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 504: description: Gatewaty Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' description: Request the status of an association loyalty program resource. tags: - Get Association Status Request operationId: getAssociationStatusRequest summary: Request the status of an association loyalty program resource. parameters: - $ref: '#/parameters/association-id' - $ref: '#/parameters/TPP-Transaction-ID' - $ref: '#/parameters/TPP-Request-ID' - $ref: '#/parameters/PSU-Agent' - $ref: '#/parameters/PSU-IP-Address' - $ref: '#/parameters/PSU-Geo-Location' - $ref: '#/parameters/PSU-Device-ID' - $ref: '#/parameters/PSU-Device-Fingerprint' definitions: ErrorMessageWithStatus: description: Error and status Information. type: object properties: transactionStatus: $ref: '#/definitions/TransactionStatusType' description: The transaction status is filled with codes of the ISO 20022 corresponding element. tppMessages: $ref: '#/definitions/TppMessageArray' description: Messages to the TPP on operational issues. additionalProperties: false TppMessage: required: - category - code description: Transports additional error information. properties: category: type: string default: "" description: Category of the error. Only "ERROR" or "WARNING" permitted. code: $ref: '#/definitions/MessageCode' description: Message error code. path: type: string default: "" description: Path of the element of the request message which provoked this error message. text: type: string maxLength: 512 default: "" description: Additional explaining text. additionalProperties: false TppMessageArray: type: array description: Messages to the TPP on operational issues. items: $ref: '#/definitions/TppMessage' description: Transports additional error information. additionalProperties: false MessageCode: description: Message error codes. type: string enum: - CERTIFICATE_INVALID - CERTIFICATE_EXPIRED - CERTIFICATE_BLOCKED - CERTIFICATE_REVOKED - CERTIFICATE_MISSING - SIGNATURE_INVALID - SIGNATURE_MISSING - FORMAT_ERROR - PSU_CREDENTIALS_INVALID - SERVICE_INVALID - SERVICE_BLOCKED - CORPORATE_ID_INVALID - CONSENT_UNKNOWN - CONSENT_INVALID - CONSENT_EXPIRED - TOKEN_UNKNOWN - TOKEN_INVALID - TOKEN_EXPIRED - RESOURCE_UNKNOWN - RESOURCE_EXPIRED - TIMESTAMP_INVALID - PERIOD_INVALID - SCA_METHOD_UNKNOWN - TRANSACTION_ID_INVALID - PRODUCT_INVALID - PRODUCT_UNKNOWN - PAYMENT_FAILED - REQUIRED_KID_MISSING - SESSIONS_NOT_SUPPORTED - ACCESS_EXCEEDED - REQUESTED_FORMATS_INVALID - CARD_INVALID - NO_PIIS_ACTIVATION default: CONSENT_INVALID additionalProperties: false TransactionStatusType: description: | ISO20022: The transaction status. type: string enum: - ACCP - ACTC - RCVD - RJCT default: ACCP additionalProperties: false AssociationStatusType: type: string enum: - ACTV - CANC - SUSP - APEX - APRC - APRP default: CANC description: 'Loyalty Programme Enrollment Status Code. \n Possible values are: \n "ACTV" - "Active"; \n "CANC" - "Cancelled"; \n "SUSP" - "Suspended"; \n "APEX" - "Activation Processing Expired"; \n "APRC" - "Activation Processing Rejected by Client"; \n "APRP" - "Activation Processing Rejected by Processor".' additionalProperties: false Payload: description: Payload. type: object properties: payloadDescription: description: Description of payload purpose (TPP free text used to transportation of relevant data to be given to PSU). type: string authenticationPayload: description: Is asking for detailed payload information. The following structure cannot be less than one (1) and greater than three (3). $ref: '#/definitions/PayloadReferenceArray' additionalProperties: false required: - authenticationPayload PayloadReferenceArray: type: array description: Array of Payload Reference items: $ref: '#/definitions/PayloadReference' description: Payload Reference. additionalProperties: false additionalProperties: false PayloadReference: description: "" type: object properties: identification: description: It identifies the token (as token identification). type: string value: description: It identifies the value related to token identification. This value will be shown to PSU. type: string priority: description: It identifies the token identification (and corresponding value) presentation priority to PSU. It must be fulfilled with na integer between 1 and 3. type: integer additionalProperties: false LoyaltyProgramAssociationRequestResource: properties: msisdn: type: string maxLength: 35 description: An alias to guarantee PSU authentication and authorisation processes via a registered mobile phone number in MBWAY service. loyaltyProgram: type: integer description: Loyalty Program Code endToEndIdentification: type: string maxLength: 35 description: Unique identification as assigned by the sending party to unambiguously identify this payment. payload: $ref: '#/definitions/Payload' additionalProperties: false required: - msisdn - loyaltyProgram - payload LoyaltyProgramAssociationResponseResource: properties: transactionStatus: description: "" $ref: '#/definitions/TransactionStatusType' associationId: type: string description: Identification of the association resource as it is used in the API structure. Shall be contained, if a na authentication resource was generated. tppMessages: description: Messages to the TPP on operational issues. $ref: '#/definitions/TppMessageArray' additionalProperties: false required: - transactionStatus LoyaltyProgramAssociationStatusResponseResource: properties: transactionStatus: $ref: '#/definitions/TransactionStatusType' associationStatus: $ref: '#/definitions/AssociationStatusType' loyaltyProgramPriority: type: integer description: Loyalty Programme Priority in Card Associations. loyaltyProgramName: type: string maxLength: 16 description: Loyalty Programme Name. promoterReference: type: string maxLength: 40 description: Loyalty Programme Promoter Channel Reference. promoterName: type: string maxLength: 40 description: Loyalty Programme Promoter Name. maskedPan: type: string description: Card Masked Primary Account Number panExpiryDate: type: string format: date description: Expiry Date of informed Card Masked Primary Account Number (PAN). It must be fulfilled in YYYY-MM format. tppMessages: description: Messages to the TPP on operational issues. $ref: '#/definitions/TppMessageArray' additionalProperties: false description: Loyalty Program Association Status Response Resource required: - transactionStatus tags: [] parameters: association-id: name: association-id type: string required: true in: path description: Identification of the association resource as it is used in the API structure. Shall be contained, if a na authentication resource was generated. Digest: name: Digest type: string required: false in: header description: Hash of the message body. Should be present when Request body exists TPP-Transaction-ID: name: TPP-Transaction-ID type: string required: true in: header description: ID of the transaction as determined by the initiating party. TPP-Request-ID: name: TPP-Request-ID type: string required: true in: header description: ID of the request, unique to the call, as determined by the initiating party. PSU-Agent: name: PSU-Agent in: header description: The forwarded Agent header field of the http request between PSU and TPP. required: false type: string default: "" PSU-Geo-Location: name: PSU-Geo-Location in: header description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. required: false type: string pattern: ^GEO:[-?+?(\d){1,3}.(\d){6}]{8,11};[-?+?(\d){1,3}.(\d){6}]{8,11}$ default: GEO:1.111111;-1.111111 PSU-Device-ID: name: PSU-Device-ID in: header description: UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. required: false type: string default: "" PSU-Device-Fingerprint: name: PSU-Device-Fingerprint in: header description: Fingerprint of the device used in the request between PSU and TPP, if available. required: false type: string default: "" PSU-IP-Address: name: PSU-IP-Address type: string required: true in: header description: The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. If not available, the TPP shall use the IP Address used by the TPP when submitting this request. Do not fill in Direct Debit context. Reserved for future use. LoyaltyProgramAssociationRequest: name: LoyaltyProgramAssociationRequest required: true in: body schema: $ref: '#/definitions/LoyaltyProgramAssociationRequestResource' description: Loyalty Program Association Request x-ibm-endpoints: - endpointUrl: https://site2.sibsapimarket.com:8445/sibs/apimarket-sb type: - production - development - endpointUrl: https://site1.sibsapimarket.com:8445/sibs/apimarket-sb type: - production - development ...