docs: async def get_record(type_: str, id: str, options: str):
          """
          Retrieves a record from the wallet storage.
          :param type_: String
          :param id: String
          :param options: String
          Example:
          import json
          await Wallet.add_record({
              'id': 'RecordId',
              'tags': json.dumps({
                  'tag1': 'unencrypted value1',
                  '~encryptedTag', 'this value is encrypted,
                  'integerTag', 1
                  }),
              'type_': 'TestType',
              'value': 'RecordValue'
          })
          options = json.dumps({"retrieveType": True, "retrieveValue": True, "retrieveTags": True})
          record = await Wallet.get_record('TestType', 'RecordId', options)
          :return:
          :return:
          """
          logger = logging.getLogger(__name__)
  
          if not hasattr(Wallet.get_record, "cb"):
              logger.debug("vcx_wallet_get_record: Creating callback")
              Wallet.get_record.cb = create_cb(CFUNCTYPE(None, c_uint32, c_uint32, c_char_p))
  
          c_type_ = c_char_p(type_.encode('utf-8'))
          c_id = c_char_p(id.encode('utf-8'))
          c_options = c_char_p(options.encode('utf-8'))
          data = await do_call('vcx_wallet_get_record',
                               c_type_,
                               c_id,
                               c_options,
                               Wallet.get_record.cb)
  
          logger.debug("vcx_wallet_get_record completed")
          return data.decode()