API Methods

The Cashless retailing API exposes the following methods:

/// <summary>
Provides a list of the first 4000 online and offline account payments recorded in Schoolcomms subsequent to the lastProcessedAccountPaymentID.
The lastProcesedAccountPaymentID should be 0 on the first ever use by a partner.
A flag in the return value will indicate if more account payments are available.
If there are more than 4000 account payments to return, the method will need to be called again to get the remainder. /// </summary>
[OperationContract]
[FaultContractAttribute(typeof(ThirdPartyAPIFault))]
AccountPaymentsReturn RequestAccountPayments(
UserCredentials credentials,
long lastProcessedAccountPaymentBatchID
); /// <summary>
Returns the ID of the most recent transaction record that Schoolcomms processed for this partner for the specified purse. The ID is used by the partnerto determine theset of transaction records to pass to the UploadTransactions call.
/// </summary>
[OperationContract]
[FaultContractAttribute(typeof(ThirdPartyAPIFault))]
LastProcessedRecordReturn RequestLastProcessedTransactionRecord(
UserCredentials credentials
);

/// <summary>
/// Uploads a set of Transactions to Schoolcomms that Schoolcomms has not
/// received before.
/// Enables the partner to choose whether to supply their internal identifier
/// for purchase updates to prevent the risk of them being sent more than once
/// Enables up to 4000 purchase histories to be uploaded in a single call.
/// </summary>
[OperationContract]
[FaultContractAttribute(typeof(ThirdPartyAPIFault))]
UploadResultReturn UploadTransactions(
UserCredentials credentials,
bool partnerIDsSupplied,
List<PartnerTransactionRecord> historyRecords
);

/// <summary>
Uploads a set of SIMS person IDs that have not been recognised by the partner following the RequestAccountPayments API call. Any account payments for the given member and batch number are reset in the
/// Schoolcomms database so they will be passed again on
/// the next call.
/// </summary>
[OperationContract]
[FaultContractAttribute(typeof(ThirdPartyAPIFault))]
UploadResultReturn UnrecognisedSIMSIDs(UserCredentials credentials, List<string> UnrecognisedSIMSPersonIDs, long AccountPaymentBatchID);