Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escape special characters +-&|!(){}[]^"~*?:\ - e.g. \+ \* \!
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
 
Answered
What is the relationship between these IDs in the marketplace subscription event?

In a marketplace subscription event:

  1. Does the 'creator' inside the nested 'event' dict correspond to the subscriber identified by 'user_id'?
  2. If so, what is the relationship between the creator's 'uuid' and 'sso_user_id'?
  3. Is 'subscription_id' supposed to match up with 'subscriptionId' under 'event' -> 'payload' -> 'configuration'?'

For context, here is the test subscription event I'm getting from running "q2 markeplace invoke_subscribe":

SubscriptionEvent payload:
 {'subscription_event':
   {'event':
     {'type': 'SUBSCRIPTION_ORDER',
      'marketplace':
        {'partner': 'Q2TOTALACCESS',
	 'baseUrl': 'https://testq2totalaccess.appdirect.com'
	},
      'creator':
        {'uuid': 'a12f0c8d-d828-47c1-8568-2aae60bc78c0',
	 'openId': 'https://testq2totalaccess.appdirect.com/openid/id/88671911-668e-40e0-8e1b-abd8c45a8b29',
	 'email': 'jdoe@q2ebanking.com',
	 'firstName': 'John',
	 'lastName': 'Doe',
	 'language': 'en',
	 'locale': 'en-US',
	 'address':
	   {'salutation': '',
	    'firstName': 'John',
	    'lastName': 'Doe',
	    'fullName': 'John Doe',
	    'companyName': '',
	    'phone': '',
	    'phoneExtension': '',
	    'fax': '',
	    'faxExtension': '',
	    'street1': '123 Test Street',
	    'street2': '',
	    'city': 'Austin',
	    'state': 'TX',
	    'zip': '78717',
	    'country': 'US',
	    'pobox': '',
	    'pozip': ''
	    },
	 'attributes': ''
	 },
      'payload':
        {'user': '',
	 'company':
	   {'uuid': 'efbb3e12-d147-48a2-8b06-55fe3f391219',
	    'externalId': 'afcf16dd-cfb6-4603-bf97-fab03b851378',
	    'name': 'famzoo Enrollment Test',
	    'email': '',
	    'phoneNumber': '',
	    'website': '',
	    'country': 'US'
	    },
	 'account': '',
	 'addonInstance': '',
	 'addonBinding': '',
	 'order':
	   {'editionCode': 'RECURRING',
	    'addonOfferingCode': '',
	    'pricingDuration': 'MONTHLY',
	    'freeTrial': {'active': False},
	    'items': [],
	    'customAttributes': []
	    },
	 'notice': '',
	 'configuration':
	   {'userExternalIdentifier': 'd802f86b-49ec-44fe-87b4-2e88f6076f77:12345',
	    'applicationId': 'b282eb59-9db7-49b5-8f62-bffe6d4837f1',
	    'subscriptionId': '08c2ad92-a57a-4ecf-ac63-4bd19cca5d21'}
	    },
	 'links': [{'rel': 'oidcClient', 'href': 'https://testq2software.appdirect.com/api/account/v2/subscriptions/544017c5-a306-4e23-83e8-94ec4537d702/oidcClient'}]
	 },
      'event_type': 'SUBSCRIPTION_ORDER',
      'user_id': 12345,
      'fi_name': 'My FI',
      'subscription_id': 'a643ab2d-0a3d-4525-93b3-de53dc7d0b1c',
      'sso_user_id': '43bde074-6b56-4016-84c9-c0617b50d798:12345',
      'product_identifier': 'famzoo',
      'extension_url': 'https://someurl/marketplace/famzoo',
      'created': '2022-11-10T00:09:10.802701',
      'processed': '2022-11-10T00:09:10.802701'
      }
   }
Posted 3 years ago
Votes Newest

Answers


All fields with the name uuid are generated by our marketplace vendor and will not correspond to anything in the Q2 platform.

sso_user_id is a guid that we generate in the marketplace to link an online banking user to an SSO user within our vendor's system, as well as the customer key for the FI environment that the event originated from (deliniated with a ':' ). The first piece will likely not be useful to you as a partner developer. The second can be useful to populate HQ credentials from Vault at request time. However, the q2-marketplace library will do this for you in the background, so this shouldn't be necessary unless you're overriding that behavior.

user_id is the integer ID that matches up with the user ID in the FI database and can be used to look up user information.

Yes, both subscription IDs would match in a real environment. This is a mistake in the sample payload.

We are aware that this event payload in its current form is redundant and hard to parse. We are working on making the developer experience around subscriptions better. In the meantime, I would recommend ignoring the nested subscription_event object if possible, and focusing on the other top level elements to find useful data.

Posted 3 years ago
Edited 3 years ago
Chase Dorsey
0 × 1 Administrator
0

Thank you, Chase - very helpful. -Bill

— Bill Dwight   3 years ago
125 Views
1 Answer
3 years ago
3 years ago