Access the V1 and V2 web APIs in parallel
The BlackBerry AtHoc Web API V1 uses an XML payload over HTTP. The user sends login credentials as part of the authentication request to obtain a sessionId which can then be used for all other V1 API calls.
In the following example, authentication is performed, and then the sessionId is used for a publishing scenario.
Authenticating in the Web API V1
Request:
<AtHocSdk> <client>vpsID</client> <validation> <username>OperatorUserName</username> <password>OperatorPassword</password> <udid>OperatorDeviceIdentifier</udid> </validation> <payload type="LOGIN"/> </AtHocSdk>
Response:
<AtHocSdkResponse> <payload type="LOGIN" trackId=""> <ok> <systemDate>2012-09-26T20:56:24.0355987Z</systemDate> <responsePayload> <sessionId>6727aea1-b862-4370-a5df-9ea98e90d00c</sessionId> </responsePayload> <warnings /> </ok> </payload> </AtHocSdkResponse>
Publish scenario using SessionId
Request:
<AtHocSdk> <client>vpsID</client> <validation> <accessToken>6727aea1-b862-4370-a5df-9ea98e90d00c</accessToken> </validation> <payload type="INFOCASTING"> <infocasting type='ALERTSCENARIO'> <alertData> <scenario ID="8391"> <readyForPublish>Y</readyForPublish> </scenario> </alertData> </infocasting> </payload> </AtHocSdk>
Authenticating in the Web API V2
All successful authentication requests respond with an access_token. The same access token can also be used instead of sessionId for all web API V1 requests. This enables you avoid requiring web API V2 users to authenticate again for publishing scenarios.
Publish Scenario using Access Token
Request:
<AtHocSdk> <client>vpsID</client> <validation> <accessToken>eyJhbGciOiJSUzI1NiIsImtpZCI6IjRBNTZFREFFNjRGOEEzRDk2NEFBODUzMjgwQzAyMjQ5OEFCMTIwRjAiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJTbGJ0cm1UNG85bGtxb1V5Z01BaVNZcXhJUEEifQ.eyJuYmYiOjE1Mjk2Njc1MTcsImV4cCI6MTUyOTY3MTExNywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzMDAvYXV0aHNlcnZpY2VzL2F1dGgiLCJhdWQiOlsiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzMDAvYXV0aHNlcnZpY2VzL2F1dGgvcmVzb3VyY2VzIiwiYXRob2MuaXdzLndlYi5hcGkiXSwiY2xpZW50X2lkIjoiR29vZ2xlLkNocm9tZS5QbHVnaW5zLlBvc3RtYW4iLCJzdWIiOiIyMDUwMzQ0IiwiYXV0aF90aW1lIjoxNTI5NjY3NTE3LCJpZHAiOiJsb2NhbCIsIk9yZ0NvZGUiOiJQcmFqb3RTdWIiLCJyb2xlIjoiIiwic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsImF0aG9jLml3cy53ZWIuYXBpIl0sImFtciI6WyJjaGFuZ2Vfb3JnIl19.eOAlFDnryel5AK-KHHPpc0BwnOQANSc36hS9J9zsorVhIlGBFm5Vj_DX9OV_Sn8m8ERuT9rjIOOdnQ76omFAWprDr9CUuuPKchCbYShDOYv4D01UJrDyTT48sxGd4IqWXOT7jC_A1ck0WOj1GyfU_XVQZn1tcIrsjWysJkGerR-iaGpX19B31cM7msg1g5Ui5wEdpgYEgLKZ87qBLfAd1IB-uMeCh14236BVfZGYH1IacqwCyob_MPVqSBzm8Ygcg-yImeumxKL_JU1EwQi7ze1BHXEteASs0WRMVKMQgE5yZaxqXdOuJAhPYqyoaROw4nF3DoOUwt0qaPmqmsNtTQ</accessToken> </validation> <payload type="INFOCASTING"> <infocasting type='ALERTSCENARIO'> <alertData> <scenario id="8391"> <readyForPublish>Y</readyForPublish> </scenario> </alertData> </infocasting> </payload> </AtHocSdk>