...
Last Updated: Dec 20, 2012
...
About
The Pull Model is a way for Integration Partners to request records that are new or updated since last last time they called. This model is useful in a scenario where the usual real-time synchronization model will will not work.
Process
The Integration Partner initiates a "pull" from the Connector.
...
Sample URL is:
Code Block <URL>/connector/api/2011-11/missingusers?
...
provider=XYZ&clientID=TEST_CLIENT&clubID=TEST_CLUB
- This will return a list of ALL users in the Connector database that meet one of
...
- two conditions
- The Connector does not have a XYZ User ID for that user (i.e. new user)
...
- The record has been modified since the last time XYZ fetched (and sync'ed)
...
- the user (i.e. updated user)
- Note this list is limited to 50 records, last in first out
- Sample response is below
- How the Integration Partner handles the lookup is up to them. What MUST happen is
...
- a callback to the Connector which is an acknowledgement that "I've sync'ed this user". A
...
- sample web service call here is a POST to <URL>/connector/api/2011-11/user/callback
...
- with the ID from the system making the pull (example below)
- After this callback is made, the user will not appear in the pull call again (unless the
...
- user is updated again in InTouch)
1.
2.
3.
4.
5.
6.
Pull Response Example:
...
Examples
Example Pull Response
Code Block | ||
---|---|---|
| ||
<user> <userInfo> <connectorUUID>ce507497-992c-4eb8-bc7e-b0d46e7aa53f</connectorUUID> |
...
<createdBy>INTOUCH</createdBy> |
...
<createdDate>2012-06-28T18:26:29.101Z</createdDate> |
...
<modifiedBy>INTOUCH</modifiedBy> |
...
<modifiedDate>2012-07-03T23:55:49.937Z</modifiedDate> |
...
<firstname>John</firstname> |
...
<lastname>Doe</lastname> |
...
<userStatus>ACTIVE</userStatus> |
...
<userType>PROSPECT</userType> |
...
<address1/> |
...
<city/> |
...
<zipcode/> |
...
<country>US</country> |
...
<mobile>(213) 688-1441</mobile> |
...
<email>dblack@goldsgymla.com</email> <homePhone/> |
...
<workPhone>(213) 688-1441</workPhone> |
...
<company/> |
...
</userInfo> |
...
<userInfo> snip... repeat userInfo segments here |
...
</userInfo> |
...
</user> |
Callback
...
Example
Code Block | ||
---|---|---|
| ||
<user> |
...
<providerInfo> <identifier>XYZ</identifier> |
...
<clientID>100</clientID> |
...
<clubID>200</clubID> |
...
<recordID>1001</recordID> |
...
</providerInfo> |
...
<userInfo> <connectorUUID>ce507497-992c-4eb8-bc7e-b0d46e7aa53f</connectorUUID> |
...
</userInfo> |
...
</user> |