Skip to main content


Scantrust iOS SDK provides APIManager to perform network requests to Scantrust's backend server. It is a singleton class which is using URLSession for network requests.

Basic Usage

let data = SerializableAuthenticationRequestData.init(authenticationScanCandidate: candidate, comesFromUnreadableFlow: false)
APIManager.sharedInstance()?.authenticateAuthenticationRequestData(data, withAuthToken: nil, completion: { [weak self] response, error in
// handle error and response

APIManager has two kind of requests to contact the backend.

  • authenticateAuthenticationRequestData - to authenticate secure code with backend
  • sendScanQueryWithParsedContent - to send a scan query with backend. Mainly used for unsupported phones and non auth codes

Model Objects

To make it easy to create and consume data with Scantrust backend, SDK provides varies model objects. Each has it's own responsibilities.

  • SerializableAuthenticationRequestData: to create authentication request for APIManager
  • BasicScanCandidate: to create scan query request for APIManager
  • STAuthResponse: response object for authenticate and scan query
  • STBrand: class to represents the brand details and to represent the details about brand which was associated to the scanned QR code
  • STProduct: class which represents the product details and to represent the details about product which was associated to the scanned QR code