CommonService

sealed interface CommonService

This is the Retrofit interface to handle various calls to the Shared Product APIs. This interface defines the methods, the request, and the response from the API.

Inheritors

Functions

Link copied to clipboard
@GET(value = "/{productType}/{apiVersion}/account/balance")
abstract suspend fun getAccountBalance(@Path(value = "productType") productType: String, @Path(value = "apiVersion") apiVersion: String, @Header(value = "Ocp-Apim-Subscription-Key") productSubscriptionKey: String, @Header(value = "X-Target-Environment") environment: String): Response<AccountBalance>

Makes a request to get the Account Balance. This only works with the ProductType.COLLECTION. It seems to break with the other API product type.

Link copied to clipboard
@GET(value = "/{productType}/{apiVersion}/account/balance/{currency}")
abstract suspend fun getAccountBalanceInSpecificCurrency(@Path(value = "productType") productType: String, @Path(value = "apiVersion") apiVersion: String, @Path(value = "currency") currency: String, @Header(value = "Ocp-Apim-Subscription-Key") productSubscriptionKey: String, @Header(value = "X-Target-Environment") environment: String): Response<AccountBalance>

Makes a request to get the Account Balance in a specific currency. This only works with the ProductType.COLLECTION. It seems to break with the other API product type. User EUR as the currency on sandbox

Link copied to clipboard
@GET(value = "/{productType}/{apiVersion}/accountholder/msisdn/{accountHolderId}/basicuserinfo")
abstract suspend fun getBasicUserInfo(@Path(value = "productType") productType: String, @Path(value = "apiVersion") apiVersion: String, @Path(value = "accountHolderId") accountHolder: String, @Header(value = "Ocp-Apim-Subscription-Key") productSubscriptionKey: String, @Header(value = "X-Target-Environment") environment: String): Response<BasicUserInfo>

Makes a request to get the Basic ApiUser Info.

Link copied to clipboard
@GET(value = "/{productType}/{apiVersion}/transfer/{referenceId}")
abstract suspend fun getTransferStatus(@Path(value = "productType") productType: String, @Path(value = "apiVersion") apiVersion: String, @Path(value = "referenceId") referenceId: String, @Header(value = "Ocp-Apim-Subscription-Key") productSubscriptionKey: String, @Header(value = "X-Target-Environment") environment: String): Response<ERROR CLASS: Symbol not found for ResponseBody>

Makes a request to get the transfer status.

Link copied to clipboard
@GET(value = "/{productType}/oauth2/{apiVersion}/userinfo")
abstract suspend fun getUserInfoWithConsent(@Path(value = "productType") productType: String, @Path(value = "apiVersion") apiVersion: String, @Header(value = "Ocp-Apim-Subscription-Key") productSubscriptionKey: String, @Header(value = "X-Target-Environment") environment: String): Response<UserInfoWithConsent>

Makes a request to get the ApiUser Info with Consent.

Link copied to clipboard
@POST(value = "/{productType}/{apiVersion}/requesttopay/{referenceId}/deliverynotification")
abstract suspend fun requestToPayDeliveryNotification(@Path(value = "productType") productType: String, @Path(value = "apiVersion") apiVersion: String, @Path(value = "referenceId") referenceId: String, @Body momoNotification: MomoNotification, @Header(value = "notificationMessage") notificationMessage: String, @Header(value = "Ocp-Apim-Subscription-Key") productSubscriptionKey: String, @Header(value = "X-Target-Environment") environment: String): Response<ERROR CLASS: Symbol not found for ResponseBody>

Makes a request to send a delivery notification.

Link copied to clipboard
@POST(value = "/{productType}/{apiVersion}/transfer")
abstract suspend fun transfer(@Path(value = "productType") productType: String, @Path(value = "apiVersion") apiVersion: String, @Body momoTransaction: MomoTransaction, @Header(value = "X-Reference-Id") uuid: String, @Header(value = "Ocp-Apim-Subscription-Key") productSubscriptionKey: String, @Header(value = "X-Target-Environment") environment: String): Response<Unit>

Makes a request to transfer funds.

Link copied to clipboard
@GET(value = "/{productType}/{apiVersion}/accountholder/{accountHolderIdType}/{accountHolderId}/active")
abstract suspend fun validateAccountHolderStatus(@Path(value = "productType") productType: String, @Path(value = "apiVersion") apiVersion: String, @Path(value = "accountHolderId") accountHolderId: String, @Path(value = "accountHolderIdType") accountHolderType: String, @Header(value = "Ocp-Apim-Subscription-Key") productSubscriptionKey: String, @Header(value = "X-Target-Environment") environment: String): Response<ERROR CLASS: Symbol not found for ResponseBody>

Makes a request to check the account holder status.