### Prepare API Request Payload (JSON/Curl) Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-info-api-authentication-signature An example of a complete API request payload in JSON format, including headers and the data object. This serves as the initial structure before signature generation. ```json curl --location 'https://sandboxapi.onesingleview.com/api/v1/getbeneficary/bankdetails' \ --header 'CompanyId: MYCOMPANY' \ --header 'SVReferenceID: SV150619940615' \ --header 'DateTimeStamp :2025-01-02T10:20:39' \ --header 'Device: Web' \ --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNMlZ4WGpFZmR6WFNWaTFad3B5QnlkOVpHelZXR2ZwUmFQNUV1TXl6S1Aybi94Y0lwR2V5STNNMkdPL1pqakd4ZG0yclJKUkdhRXlaWGNpWnZnOHArMWIyOGtOQTVkZ0VKajVVSEdiTmtNPSIsImlhdCI6MTczNTgwMTQ3NywiZXhwIjoxNzM1ODA1MDc3fQ.Bh7LFkvxNFrLe9dmH5rURWjGpES-u4z2EGeyrNM7z6E' \ --header 'Content-Type: application/json' \ --data '{ "Message": { "OSVBeneficiaryBankDetailsRequest": { "OSVBeneficiaryBankDetails": [ { "NationalId": "1350011923", "IBANAccount": "SA2015587976172154821147" } ] } }, "Signature": "" }' ``` -------------------------------- ### POST /api/payment/sadad/moi Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-sadad-moi Initiates a payment for SADAD MOI. ```APIDOC ## POST /api/payment/sadad/moi ### Description Initiates a payment for SADAD MOI. This endpoint requires specific authentication headers. ### Method POST ### Endpoint /api/payment/sadad/moi ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body This endpoint does not specify a request body in the provided documentation. ### Request Example (No request body example provided) ### Response #### Success Response (200) - **Details**: The specific fields for a successful response are not detailed in the provided documentation. #### Response Example (No response example provided) ``` -------------------------------- ### Get Access Token using cURL Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-info-api-authentication-access-token This cURL command demonstrates how to request an access token from the SingleView API's sandbox environment. It includes necessary headers such as CompanyId, SVReferenceID, DateTimeStamp, and Device, along with the JSON payload containing clientId, clientCode, and grant_type. ```shell curl --location 'https://sandboxapi.onesingleview.com/v1/api/svplatform/tokenOauth2' \ --header 'CompanyId: MYCOMPANY' \ --header 'SVReferenceID: BEMC0001' \ --header 'DateTimeStamp :2025-01-02T10:20:39' \ --header 'Device: Web' \ --header 'Content-Type: application/json' \ --data-raw '{ "clientId": "abcdef83643f61c975", "clientCode": "zyxvw95cE163C03b7d1", "grant_type": "client_credentials" }' ``` -------------------------------- ### Load Private Signing Key (Java) Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-info-api-authentication-signature This Java code demonstrates how to load a private key from a PKCS#12 keystore file (.p12 or .pfx). It requires the keystore file path and password. Ensure to replace placeholders with your actual credentials. ```java KeyStore keyStore = KeyStore.getInstance("PKCS12"); try (FileInputStream fis = new FileInputStream("your_certificate.p12")) { keyStore.load(fis, "your_password".toCharArray()); } String alias = keyStore.aliases().nextElement(); PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, "your_password".toCharArray()); ``` -------------------------------- ### POST /api/v1/payment/enquiry Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-api-post-payment-enquiry Initiate a Post-Payment Transaction Enquiry request to get the updated status of processed Payouts payments. ```APIDOC ## POST /api/v1/payment/enquiry ### Description This endpoint allows users to enquire about the status of their processed payment transactions. ### Method POST ### Endpoint `/api/v1/payment/enquiry` ### Parameters #### Header Parameters - **CompanyId** (string) - Required - Identifier for the company. - **SVReferenceID** (string) - Required - A unique reference ID for the SingleView transaction. - **DateTimeStamp** (string) - Required - The timestamp of the request. - **Device** (string) - Required - Information about the device making the request. - **Authorization** (string) - Required - Bearer token for authentication. ### Request Body (Note: The request body structure is not provided in the input text, but typically would contain details for the enquiry.) ### Response #### Success Response (200) - **status** (string) - The current status of the payment. - **transactionId** (string) - The transaction identifier. - **enquiryResponseCode** (string) - Code indicating the result of the enquiry. - **enquiryResponseMessage** (string) - Message describing the enquiry result. #### Response Example ```json { "status": "Processed", "transactionId": "txn_12345abcde", "enquiryResponseCode": "00", "enquiryResponseMessage": "Transaction status retrieved successfully." } ``` ``` -------------------------------- ### Initiate MOI Payment Request - cURL Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-sadad-moi This cURL command demonstrates how to initiate a SADAD MOI payment request. It includes necessary headers like CompanyId, SVReferenceID, DateTimeStamp, Device, and Authorization, along with the JSON payload containing detailed transaction information. Ensure all placeholder values are replaced with actual data. ```curl curl --location 'https://sandboxapi.onesingleview.com/api/payment/sadad/moi' --header 'CompanyId: MYCOMPANY' --header 'SVReferenceID: SV150619940615' --header 'DateTimeStamp :2025-01-02T10:20:39' --header 'Device: Web' --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNMlZ4WGpFZmR6WFNWaTFad3B5QnlkOVpHelZXR2ZwUmFQNUV1TXl6S1Aybi94Y0lwR2V5STNNMkdPL1pqakd4ZG0yclJKUkdhRXlaWGNpWnZnOHArMWIyOGtOQTVkZ0VKajVVSEdiTmtNPSIsImlhdCI6MTczNTgwMTQ3NywiZXhwIjoxNzM1ODA1MDc3fQ.Bh7LFkvxNFrLe9dmH5rURWjGpES-u4z2EGeyrNM7z6E' --header 'Content-Type: application/json' --data '{ "Message": { "OSVSadadMOIPaymentRequest": { "TransactionType": "SADADMOI", "OSVSadadMOIPayment": [ { "BankCode": "Enter_Bank_Code", "CompanyCode": "Enter_Company_Code", "AccountNumber": "Enter_Account_Number", "TransactionReferenceNumber": "Enter_Transaction_Reference_Number", "MessageDescription": "Enter_Message_Description", "TransactionData": [ { "ID": "Enter_ID", "VisaCount": "Enter_Visa_Count", "GroupPayId": "Enter_Group_Payment_ID", "SequenceNumber": "Enter_Sequence_Number", "ReferenceNumber": "Enter_Reference_Number", "FeeReferenceId": "Enter_Fee_Reference_Id", "SADADReferenceId": "Enter_SADAD_Reference_Id", "DueAmount": "Enter_Due_Amount", "PaymentType": "Enter_Payment_Type", "BillerID": "Enter_Biller_ID", "RequestType": "Enter_Request_type", "NationalID": "Enter_National_ID", "SponsorID": "Enter_Sponsor_ID", "JobCategory": "Enter_Job_Category", "Duration": "Enter_Duration" } ] } ] } } }' ``` -------------------------------- ### POST /v1/api/svplatform/tokenOauth2 Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-info-api-authentication-access-token Obtain an authorized access token for API communications. This token is used to authenticate requests to SingleView APIs. ```APIDOC ## POST /v1/api/svplatform/tokenOauth2 ### Description Obtain an authorized access token for API communications. This token is used to authenticate requests to SingleView APIs. ### Method POST ### Endpoint `/v1/api/svplatform/tokenOauth2` ### Parameters #### Header Parameters - **CompanyId** (string) - Required - Unique company identifier. - **SVReferenceID** (string) - Required - A reference ID for the service. - **DateTimeStamp** (string) - Required - The timestamp of the request. - **Device** (string) - Required - The device making the request. #### Request Body - **clientId** (string) - Required - Unique client identification details. - **clientCode** (string) - Required - Unique client secret code for authentication. - **grant_type** (string) - Required - Type of grant provided for authentication. Use `client_credentials`. ### Request Example ```json { "clientId": "abcdef83643f61c975", "clientCode": "zyxvw95cE163C03b7d1", "grant_type": "client_credentials" } ``` ### Response #### Success Response (200) - **access_token** (string) - The obtained access token. - **token_type** (string) - The type of token (e.g., "Bearer"). - **expires_in** (string) - The duration in seconds until the token expires. #### Response Example ```json { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNMlZ4WGpFZmR6WFNWaTFad3B5QnlkOVpHelZXR2ZwUmFQNUV1TXl6S1Aybi94Y0lwR2V5STNNMkdPL1pqakd4ZG0yclJKUkdhRXlaWGNpWnZnOHArMWIyOGtOQTVkZ0VKajVVSEdiTmtNPSIsImlhdCI6MTczNTgwMTQ3NywiZXhwIjoxNzM1ODA1MDc3fQ.Bh7LFkvxNFrLe9dmH5rURWjGpES-u4z2EGeyrNM7z6E", "token_type": "Bearer", "expires_in": "6000" } ``` #### Error Response (e.g., 4xx, 5xx) - **success** (boolean) - Indicates if the operation was successful (`false` for errors). - **payload** (object) - An empty object in case of errors. - **message** (string) - A message describing the error (e.g., "Connect Refused"). #### Error Response Example ```json { "success": false, "payload": {}, "message": "Connect Refused" } ``` ``` -------------------------------- ### GET /websites/onesingleview_v1_0_2 Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-sadad-moi Retrieves the MOI refund status for a given transaction. It returns detailed information about the refund process, including bank codes, transaction data, and fee details. ```APIDOC ## GET /websites/onesingleview_v1_0_2 ### Description Retrieves the MOI refund status for a given transaction. It returns detailed information about the refund process, including bank codes, transaction data, and fee details. ### Method GET ### Endpoint /websites/onesingleview_v1_0_2 ### Parameters #### Query Parameters - **ID** (String) - Mandatory - Unique identification details of the customer - **Duration** (String) - Mandatory - Duration of the visa - **SadadReferenceId** (String) - Mandatory - Unique SADAD reference identification details ### Request Example ```json { "ID": "customer123", "Duration": "30 days", "SadadReferenceId": "SADADREF456" } ``` ### Response #### Success Response (200) - **OSVSadadMOIRefundStatusResponse** (Object) - Root tag carrying SADAD MOI refund status response - **OSVSadadMOIRefundStatus** (Object) - Tag carrying information on SADAD MOI refund - **BankCode** (String) - Unique bank identification code - **Status** (String) - Status of the refund - **TransactionData** (Array) - Tag carrying information on SADAD MOI refund transaction - **FeeReferenceId** (String) - Unique bank fee reference details - **SadadReferenceId** (String) - Unique SADAD reference details - **BeneficiaryName** (String) - Name of the beneficiary - **DueAmount** (Numerical) - Current amount due for refund - **PreviousAmount** (Numerical) - Previous amount due for the SADAD MOI - **PmtIdType** (String) - Unique payment identification type details - **StatusDetail** (String) - Details of the status - **StatusCode** (String) - Unique status code of the process - **FeeDetails** (Object) - Tag carrying information on fee details - **Fee** (Object) - Tag carrying information on SADAD MOI refund fee - **FeeAmount** (Numerical) - Amount denoting the fee - **FeeType** (String) - Details on fee type #### Response Example ```json { "OSVSadadMOIRefundStatusResponse": { "OSVSadadMOIRefundStatus": [ { "BankCode": "Bank_Code", "Status": "Status", "TransactionData": [ { "FeeReferenceId": "Fee_Reference_Id", "SadadReferenceId": "Sadad_Reference_Id", "BeneficiaryName": "Beneficiary_Name", "DueAmount": "Due_Amount", "PreviousAmount": "Previous_Amount", "PmtIdType": "Payment_Id_Type", "StatusDetail": "Status_Detail", "StatusCode": "Status_Code", "FeeDetails": { "Fees": { "FeeType": "Fee_Type", "FeeAmount": "Fee_Amount" } } } ] } ] } } ``` ``` -------------------------------- ### MoI Service Parameters Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-sadad-user-inputs Retrieves parameters for MoI services, such as those required for issuing new Iqama. Includes details like Biller ID, Service Code, and required parameter information. ```APIDOC ## GET /websites/onesingleview_v1_0_2/moi_service_parameters ### Description Retrieves parameters for MoI services. ### Method GET ### Endpoint /websites/onesingleview_v1_0_2/moi_service_parameters ### Parameters #### Query Parameters - **billerId** (number) - Optional - Filters parameters by Biller ID. - **serviceCode** (string) - Optional - Filters parameters by Service Code. ### Request Example ``` GET /websites/onesingleview_v1_0_2/moi_service_parameters?billerId=90&serviceCode=2 ``` ### Response #### Success Response (200) - **billerId** (number) - The ID of the biller. - **billerCode** (string) - The code of the biller. - **billerName** (string) - The name of the biller. - **serviceCode** (number) - The code of the service. - **serviceName** (string) - The name of the service. - **parameters** (array) - A list of parameters required for the service. - **parameterName** (string) - The name of the parameter. - **parameterDescription** (string) - A description of the parameter. - **parameterType** (string) - The data type of the parameter. - **parameterMinimumLength** (number) - The minimum length for the parameter value. - **parameterMaximumLength** (number) - The maximum length for the parameter value. - **parameterOrder** (number) - The order in which the parameter should be presented. #### Response Example ```json { "billerId": 90, "billerCode": "MOIAC", "billerName": "Alien Control", "serviceCode": 2, "serviceName": "Issue New Iqama", "parameters": [ { "parameterName": "BeneficiaryId", "parameterDescription": "Border Number", "parameterType": "Number", "parameterMinimumLength": 10, "parameterMaximumLength": 10, "parameterOrder": 1 }, { "parameterName": "SponsorId", "parameterDescription": "Sponsor ID", "parameterType": "Number", "parameterMinimumLength": 10, "parameterMaximumLength": 10, "parameterOrder": 2 }, { "parameterName": "IqamaDurationYrs", "parameterDescription": "Iqama Duration in Years", "parameterType": "Number", "parameterMinimumLength": 1, "parameterMaximumLength": 2, "parameterOrder": 3 }, { "parameterName": "JobCategory", "parameterDescription": "Job Category", "parameterType": "Enum", "parameterMinimumLength": 2, "parameterMaximumLength": 2, "parameterOrder": 4 } ] } ``` ``` -------------------------------- ### GET /api/v1/account/statement/{id} Source: https://docs.onesingleview.com/v1.0.2/docs/info-api-v1 Retrieves account statement information for a specified account ID. The endpoint requires POST method for data submission. ```APIDOC ## POST /api/v1/account/statement/{id} ### Description This endpoint allows users to retrieve bank account statements for a given account. It supports fetching statements for specific date ranges and requires mandatory header information including credentials, signature, and an access token. ### Method POST ### Endpoint `/api/v1/account/statement/{id}` ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier for the account statement request. #### Header Parameters - **CompanyId** (string) - Required - Your company identifier. - **SVReferenceID** (string) - Required - A unique reference ID for the service request. - **DateTimeStamp** (string) - Required - The timestamp of the request in ISO 8601 format (YYYY-MM-DDTHH:MM:SS). - **Device** (string) - Required - The device from which the request is made (e.g., Web). - **Authorization** (string) - Required - Bearer token for authentication. #### Request Body - **Message** (object) - Required - Header information containing client credentials. - **OSVAccountStatementRequest** (object) - Required - The root object for the account statement request. - **FromDate** (string) - Required - The starting date of the statement period in ISO 8601 format (YYYY-MM-DDTHH:MM:SS). - **ToDate** (string) - Required - The ending date of the statement period in ISO 8601 format (YYYY-MM-DDTHH:MM:SS). - **DateTimeStamp** (string) - Required - Timestamp for the request in ISO 8601 format (YYYY-MM-DDTHH:MM:SS). - **TransactionType** (integer) - Required - Type of transaction statement. Use `940` for date-ranged transactions. - **OSVPaymentInfoMessage** (array) - Required - Contains information for multiple bank requests. - **OSVPaymentInfoRequest** (object) - Required - Root element for payment information. - **BankCode** (string) - Required - Unique bank identification code (e.g., ALRAJHI, SABB). - **CompanyCode** (string) - Required - Sender company code provided during onboarding. - **AccountNumbers** (object) - Required - Contains bank account numbers. - **AccountNumber** (array) - Required - An array of bank account numbers. - **AccNumber** (string) - Required - Unique account number (Min 11, Max 24 alphanumeric characters). - **Signature** (string) - Required - Encrypted signature string. ### Request Example ```json { "Message": { "OSVAccountStatementRequest": { "TransactionType": 940, "OSVPaymentInfoMessage": [ { "OSVPaymentInfoRequest": { "AccountNumbers": { "AccountNumber": [ { "AccNumber": "204000010006085129123" } ] }, "BankCode": "ALRAJHI", "CompanyCode": "125001291" } } ], "DateTimeStamp": "2025-01-17T09:13:26", "FromDate": "2025-01-15T00:00:00", "ToDate": "2025-01-15T23:59:59" } }, "Signature": "e4+f9iTJidnAw5CuyA+gpL1hgn5YfWxN45wscjqrh0S2sKpvQHYNfFyYrlQOf3UbFubFV2pkho6xIhGMIxhYQpLs5dj6CpW/GIYQeQN0P2z/3Kd3K8k3c9FHBe0Q77alI7kS5O4sYXlOMFgX0L0bpdZl3zUYB7zSFYHpRVzxV2SuMWWUo61QVFELMvcfO0sjiTfR4dR3Iwm3BZB8EjL1T6Rx7m6GHvC5VYvP8mmOYPy6v01zA8TI8xIr5XIGvjM8KRir/V0/lpZfZ+3/roP7J9Pfmatt/6ntXAJL40D+Rb6L7kC/3YN8ewGsBHYXwrAqCoYEyGLJsPytp9XqEvHnsA==" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Initiate Refund Response Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-sadad-moi Details of the response received after initiating a refund. ```APIDOC ## POST /websites/onesingleview_v1_0_2/refund ### Description This endpoint initiates a refund and provides detailed transaction information. ### Method POST ### Endpoint /websites/onesingleview_v1_0_2/refund ### Request Body This endpoint does not explicitly define a request body in the provided text. It is assumed that the request would contain parameters necessary to initiate a refund. ### Request Example ```json { "example": "Request body structure not provided" } ``` ### Response #### Success Response (200) - **OSVSadadMOIRefundResponse** (Object) - Root tag carrying SADAD MOI refund response - **MessageType** (String) - Type of response message represented as `SADADMOI` - **TimeStamp** (String) - Date and time of the response - **OSVSadadMOIRefund** (Object) - Tag carrying information on SADAD MOI refund - **BankCode** (String) - Unique bank identification code - **CompanyCode** (String) - Unique company identification details - **TransactionReferenceNumber** (String) - Unique transaction reference details - **MessageDescription** (String) - Details about the SADAD MOI refund - **Status** (String) - Status of the refund - **TransactionData** (Object) - Tag carrying information on MOI transaction data - **ID** (String) - Unique bank reference identification details - **BillerID** (String) - Unique biller identification details - **FeeReferenceId** (String) - Unique bank fee reference details - **SadadReferenceId** (String) - Unique SADAD reference details - **BeneficiaryName** (String) - Name of the beneficiary - **DueAmount** (Numerical) - Current amount due for refund - **PreviousAmount** (Numerical) - Previous amount due for the SADAD MOI - **PmtIdType** (String) - Unique payment identification type details - **StatusDetail** (String) - Details of the status - **StatusCode** (String) - Unique status code of the process - **FeeDetails** (Object) - Tag carrying information on fee details - **Fee** (Object) - Tag carrying information on SADAD MOI refund fee - **FeeAmount** (Numerical) - Amount denoting the fee - **FeeType** (String) - Details on fee type #### Response Example ```json { "OSVSadadMOIRefundResponse": { "MessageType": "SADADMOI", "TimeStamp": "YYYY-MM-DDTHH:MM:SS", "OSVSadadMOIRefund": [ { "BankCode": "Bank_Code", "CompanyCode": "Company_Code", "TransactionReferenceNumber": "Transaction_Reference_Number", "MessageDescription": "Message_Description", "Status": "Status", "TransactionData": [ { "ID": 000000, "BillerID": "Biller_ID", "FeeReferenceId": "Fee_Reference_Id", "SadadReferenceId": "Sadad_Reference_Id", "BeneficiaryName": "Beneficiary_Name", "DueAmount": "Due_Amount", "PreviousAmount": "Previous_Amount", "PmtIdType": "Payment_Id_Type", "StatusDetail": "Status_Detail", "StatusCode": "Status_Code", "FeeDetails": [ { "Fees": { "FeeType": "Fee_Type", "FeeAmount": "Fee_Amount" } }, { "Fees": { "FeeType": "Fee_Type", "FeeAmount": "Fee_Amount" } } ] } ] } ] } } ``` ``` -------------------------------- ### GET /websites/onesingleview_v1_0_2 Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-payouts-api-multiple-payments This endpoint is used to retrieve the status of multiple payment transactions processed by SingleView. It returns detailed information about each transaction, including bank codes, reference numbers, and status updates. ```APIDOC ## GET /websites/onesingleview_v1_0_2 ### Description Retrieves the status of multiple payment transactions. This endpoint provides detailed responses for each transaction processed. ### Method GET ### Endpoint /websites/onesingleview_v1_0_2 ### Parameters #### Query Parameters There are no documented query parameters for this endpoint. #### Request Body This endpoint does not accept a request body. ### Request Example This endpoint does not have a request example as it is a GET request. ### Response #### Success Response (200) - **OSVPaymentMessageResponse** (Object) - Root node for the payment response. - **OSVPaymentTransactionResponse** (Object/Array) - Contains the response for each bank transaction. - **BankCode** (String) - Unique bank identification code (e.g., ANB, SABB). - **BankReferenceNumber** (String) - The reference number provided by the bank. - **TransactionReferenceNumber** (String) - Unique reference number generated by the customer at the time of the transaction. - **TransactionData** (Array) - Contains the status details for each transaction. - **CompanyCode** (String) - Sender company code/identifier. - **SequenceNum** (String) - The sequence number from the original request. - **StatusCode** (String) - Code representing the status of the request (e.g., OK, FAILED, ONHOLD). - **StatusDetail** (String) - Detailed explanation of the status code. - **AckReference** (String) - Transaction acknowledgement reference identification. - **TransferType** (String) - Type of transfer (e.g., interbank, sarie, swift). - **BulkToSingle** (Boolean) - Indicates if the payment was part of a bulk or single transaction. - **BankReferenceNumber** (String) - Unique bank reference identification for the transaction. #### Response Example ```json { "OSVPaymentMessageResponse": { "OSVPaymentTransactionResponse": [ { "BankCode": "ANB", "BankReferenceNumber": "", "TransactionReferenceNumber": "977777364313450", "TransactionData": [ { "CompanyCode": "SingleView", "SequenceNum": "977777285462521", "StatusCode": "OK", "StatusDetail": "Payment processed successfully", "AckReference": "BT00204699", "TransferType": "interbank", "BulkToSingle": "true", "BankReferenceNumber": "9f417032-d9a0-4a7a-aaeb-4fbc6291ae94" }, { "CompanyCode": "SingleView", "SequenceNum": "977777225462551", "StatusCode": "OK", "StatusDetail": "Payment processed successfully", "AckReference": "BT00204698", "TransferType": "interbank", "BulkToSingle": "true", "BankReferenceNumber": "fc1e02e9-5890-462e-a6e3-c9fed388d4aa" } ] } ] } } ``` ### Error Handling - **FAILED**: Invalid Account number, Exceed Daily Limit, Account Restricted, Connectivity Error. - **ONHOLD**: Response timeout! Perform a payment enquiry. If unable, contact customer support. ``` -------------------------------- ### POST /websites/onesingleview_v1_0_2/b2b-payouts-info-api-por-details Source: https://docs.onesingleview.com/v1.0.2/docs/payouts-api-v2-single-payment This endpoint allows for the creation of B2B payouts with detailed information about the transaction, including ordering and beneficiary details. ```APIDOC ## POST /websites/onesingleview_v1_0_2/b2b-payouts-info-api-por-details ### Description This endpoint is used to initiate a B2B payout transaction. It requires comprehensive details about the ordering customer, the beneficiary, and the transaction itself, such as currency, transfer type, and sequence numbers. ### Method POST ### Endpoint /websites/onesingleview_v1_0_2/b2b-payouts-info-api-por-details ### Parameters #### Request Body - **PORCode** (Numeric) - *Mandatory* - A code representing the payment or payout. - **TransferType** (Alphabet) - *Mandatory* - Specifies the type of transfer. Accepted values: `interbank`, `sarie`, `swift`. - **SequenceNum** (Numeric) - *Conditional, Mandatory for SAB* - A unique number representing each transaction generated by the client. Length: 16 characters. - **OrderingCustomerIBAN** (Alphanumeric) - *Conditional* - Ordering Customer’s IBAN number. One of Account Number or IBAN Number is mandatory. - **OrderingCustomerAccountNumber** (Alphanumeric) - *Conditional, Mandatory for SNB* - Ordering Customer’s account number. One of Account Number or IBAN Number is mandatory. Min length: 11 characters, Max length: 24 characters. - **OrderingInstitution** (Alphanumeric) - *Mandatory* - The institution initiating the transaction. Max length: 8 or 11 characters. - **OrderingCurrency** (Alphabet) - *Mandatory* - The currency code for the transaction. Length: 3 digits. - **OrderingCustomerNameAddress** (Object) - *Mandatory* - Root element containing details of the ordering customer. - **OrderingCustomerName** (Alphabet) - *Mandatory* - Ordering Customer’s Name. Min length: 3 characters, Max length: 35 characters. - **OrderingCustomerAdd1** (String) - *Mandatory* - Ordering Customer’s Address Line 1. Min length: 3 characters, Max length: 35 characters. - **OrderingCustomerAdd2** (String) - *Mandatory* - Ordering Customer’s Address Line 2 (city to be mentioned). Min length: 3 characters, Max length: 35 characters. - **OrderingCustomerAdd3** (String) - *Mandatory* - Ordering Customer’s Address Line 3. Min length: 3 characters, Max length: 35 characters. - **BeneficiaryAccountWithInstitutionBIC** (Alphanumeric) - *Mandatory* - Beneficiary BIC Code. Max length: 8 or 11 characters. - **BeneficiaryAccountNameAddress** (Object) - *Mandatory* - Root element containing details of the beneficiary. - **BeneficiaryAccount** (String) - *Mandatory* - Beneficiary Customer’s account number. Min length: 11 characters, Max length: 24 characters. - **BeneficiaryName** (Alphabetic) - *Mandatory* - Beneficiary Name. Min length: 3 characters, Max length: 35 characters. - **BeneficiaryADD1** (String) - *Mandatory* - Beneficiary Address Line 1. Min length: 3 characters, Max length: 35 characters. - **BeneficiaryADD2** (String) - *Mandatory* - Beneficiary Address Line 2 (city to be mentioned). Min length: 3 characters, Max length: 35 characters. - **BeneficiaryADD3** (String) - *Mandatory* - Beneficiary Address Line 3. Min length: 3 characters, Max length: 35 characters. ### Request Example ```json { "PORCode": "123456", "TransferType": "interbank", "SequenceNum": "0000000000000001", "OrderingCustomerIBAN": "SA0000000000000000000000", "OrderingInstitution": "SABBSARI", "OrderingCurrency": "SAR", "OrderingCustomerNameAddress": { "OrderingCustomerName": "John Doe", "OrderingCustomerAdd1": "123 Main St", "OrderingCustomerAdd2": "Anytown", "OrderingCustomerAdd3": "CA 90210" }, "BeneficiaryAccountWithInstitutionBIC": "RJHISARI", "BeneficiaryAccountNameAddress": { "BeneficiaryAccount": "4000000000000000000000", "BeneficiaryName": "Jane Smith", "BeneficiaryADD1": "456 Oak Ave", "BeneficiaryADD2": "Otherville", "BeneficiaryADD3": "NY 10001" } } ``` ### Response #### Success Response (200) - **TransactionId** (String) - Unique identifier for the initiated transaction. - **Status** (String) - The current status of the transaction (e.g., "PENDING", "SUCCESSFUL"). #### Response Example ```json { "TransactionId": "txn_abc123xyz789", "Status": "PENDING" } ``` ``` -------------------------------- ### GET /api/v1/account/statement/{id} Source: https://docs.onesingleview.com/v1.0.2/docs/b2b-info-api-ais-account-statement Retrieves the account statement for a specified account ID and date range. The request requires company and authentication headers, along with a JSON payload containing statement details. ```APIDOC ## GET /api/v1/account/statement/{id} ### Description Retrieves the account statement for a specified account ID and date range. The request requires company and authentication headers, along with a JSON payload containing statement details. ### Method GET ### Endpoint `/api/v1/account/statement/{id}` ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the account for which to retrieve the statement. #### Query Parameters None #### Request Body - **Message** (Object) - Required - Header information (client credentials). - **OSVAccountStatementRequest** (Object) - Required - Tag carrying information on request to fetch account statement. - **FromDate** (Date) - Required - Starting date of the statement period (ISO 8601 format - YYYY-MM-DDTHH:MM:SS). - **ToDate** (Date) - Required - Ending date of the statement period (ISO 8601 format - YYYY-MM-DDTHH:MM:SS). - **DateTimeStamp** (Date) - Required - Stamp denoting the time and date of the request (ISO 8601 format - YYYY-MM-DDTHH:MM:SS). - **TransactionType** (Numerical) - Required - To be mentioned as `942` for statement about today's transactions or `940` for statement about date ranged transaction statement. - **OSVPaymentInfoMessage** (Object) - Required - This tag contains multiple banks requests. - **OSVPaymentInfoRequest** (Object) - Required - Element root. - **BankCode** (Alphabetical) - Required - Unique bank identification code (SingleView Identifier). - **CompanyCode** (String) - Required - Sender company code/Identifier provided by the bank during on-boarding. - **AccountNumbers** (Object) - Required - Tag carrying information on bank account number. - **AccountNumber** (Array of string) - Required - Tag carrying an array of strings of bank account numbers. - **AccNumber** (String) - Required - Unique account number for which the account statement is requested (Min - 11 Characters, Max - 24 Characters). - **Signature** (String) - Required - Signature for the request. ### Request Example ```json { "Message": { "OSVAccountStatementRequest": { "TransactionType": "940", "OSVPaymentInfoMessage": [ { "OSVPaymentInfoRequest": { "AccountNumbers": { "AccountNumber": [ { "AccNumber": "204000010006085129123" } ] }, "BankCode": "ALRAJHI", "CompanyCode": "125001291" } } ], "DateTimeStamp": "2025-01-17T09:13:26", "FromDate": "2025-01-15T00:00:00", "ToDate": "2025-01-15T23:59:59" } }, "Signature": "e4+f9iTJidnAw5CuyA+gpL1hgn5YfWxN45wscjqrh0S2sKpvQHYNfFyYrlQOf3UbFubFV2pkho6xIhGMIxhYQpLs5dj6CpW/GIYQeQN0P2z/3Kd3K8k3c9FHBe0Q77alI7kS5O4sYXlOMFgX0L0bpdZl3zUYB7zSFYHpRVzxV2SuMWWUo61QVFELMvcfO0sjiTfR4dR3Iwm3BZB8EjL1T6Rx7m6GHvC5VYvP8mmOYPy6v01zA8TI8xIr5XIGvjM8KRir/V0/lpZfZ+3/roP7J9Pfmatt/6ntXAJL40D+Rb6L7kC/3YN8ewGsBHYXwrAqCoYEyGLJsPytp9XqEvHnsA==" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ```