Download OpenAPI specification:Download
Airtel Locate platform enables enterprises and small businesses to easily track device location to enhance their IoT use cases irrespective of device's GPS capabilities. Airtel Locate APIs will allow you to easily get Assets' location and manage consent.
Key word :
This API will help you to generate token from the client credentials shared upon subscription to location services. In case you have not yet subscribed to location service, email us to locate.support@airtel.com
This API will generate Access Token for given scope. Generated token will be valid for 24 hours. To access Airtel Locate APIs, user will need generated access token.
| customerBaId required | string customerBaId |
credentials
| client_id required | string |
| client_secret required | string |
| scope required | string Enum: "location" "resource" |
{- "client_id": "string",
- "client_secret": "string",
- "scope": "location"
}{- "access_token": "string",
- "expires_in": 0,
- "token_type": "string"
}This set of APIs allow customer initiate consent, fetch consent details, delete resource, fetch list of msisdn for consent was initiated and various other API to handle consumer msisdn's and their consent
This API returns the list of resource registered by customer for location tracking. Optional query params consent, tracking and daysSinceLastLocationFetched can be used to further filter the result.This API returns the list of resource for which consent initiated by customer for location tracking.
| customerBaId required | string customerBaId |
| consent | string Example: consent=PENDING consent |
| daysSinceLastLocationFetched | string Example: daysSinceLastLocationFetched=10 daysSinceLastLocationFetched |
| page | ref Default: "0" Page to be returned (0..N) |
| size | ref Default: "20" Number of records per page. |
| tracking | string Example: tracking=true tracking |
| access_token required | string |
{- "consent": "PROCESSING",
- "consentPurpose": "string",
- "language": "EN",
- "lastFetchedLocationTimestamp": "2019-08-24T14:15:22Z",
- "msisdn": "string",
- "name": "string",
- "tracking": true
}This API shall allow the customer to initiate consent on number prefixed by 91 via available channel. Current supported channels are IVR and SMS. Use this to
Supported Language English(en) | Hindi(hi) | Assamese(as) | Bengali(bn) | Oriya(or) | Kannada(kn) | Malayalam(ml) | Tamil(ta) | Telugu(te)
Sample Message:
| customerBaId required | string customerBaId |
| access_token required | string |
consentRequest
| channel | string The channel to initiate consent. Defaults to SMS |
| language | string Preferred language to initiate the consent. Default to EN(english) |
| msisdn required | string The Airtel number must be prefixed with 91 followed by 10 digit mobile number. |
{- "channel": "SMS",
- "language": "EN",
- "msisdn": "91XXXXXXXXXX"
}This API will return the details for requested MSISDN like name, consent status and tracking status.
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| access_token required | string |
{- "consent": "PROCESSING",
- "consentPurpose": "string",
- "language": "EN",
- "lastFetchedLocationTimestamp": "2019-08-24T14:15:22Z",
- "msisdn": "string",
- "name": "string",
- "tracking": true
}API to modify tracking and alias(name) for registered msisdn.
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| access_token required | string |
resourcePatchOptions
| alias | string The name to msisdn for which consent was initiated |
| isTrackingEnabled | boolean enable/disable tracking for a MSISDN. |
{- "alias": "Albert Einstein",
- "isTrackingEnabled": true
}API to get the consent details insight
Consent States -- PROCESSING | INITIATED | PENDING | ALLOWED | REJECTED | FAILED
Consent Events Types -- MT | DR | MO | CALL | CDR
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| access_token required | string |
{- "channel": "IVR",
- "consent": "PROCESSING",
- "events": [
- {
- "channel": "IVR",
- "consentId": "string",
- "initiatedBy": "PLATFORM",
- "meta": {
- "callStatus": "string",
- "consentId": "string",
- "delivered": true,
- "keyPressed": true,
- "language": "EN"
}, - "status": "FAIL",
- "timestamp": "2019-08-24T14:15:22Z",
- "type": "MT"
}
], - "lastRecordedConsent": "PROCESSING",
- "lastRecordedConsentChannel": "IVR",
- "lastRecordedConsentUpdatedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}This API shall allow user to fetch the location of the registered resource. The access token must be generated with “location” scope for using this API. The value for query parameter “type” is ”sync” for synchronous request and ”async” for asynchronous request and the default value is ”sync”. Customer need to register the callback listener for the async API where Locate would post the location.
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| type required | string Default: "sync" Example: type=async type |
| access_token required | string |
{- "location": {
- "latitude": 0.1,
- "longitude": 0.1,
- "radius": "string"
}, - "message": "string",
- "retrievedAt": "yyyy-MM-dd HH:mm:ss",
- "status": "string"
}These set of APIs allow customer to validate a physical address against network fetched live location. To get access to these API's please email to locate.support@airtel.com
API to get the distance between live network location and given physical address.
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| access_token required | string |
address
| address required | string address to be validated |
{- "address": "string"
}{- "distance": 0.1,
- "distanceUnit": "string",
- "geocode": {
- "formattedAddress": "string",
- "geocodeLevel": "string",
- "inputAddress": "string",
- "latitude": 0.1,
- "longitude": 0.1
}, - "message": "string",
- "networkCoordinates": {
- "latitude": 0.1,
- "longitude": 0.1,
- "radius": "string"
}, - "status": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}These set of Tenant APIs allow customer to initiate consent, fetch consent details, delete consent, fetch list of msisdn for consent was initiated and various other API to handle tenant msisdn's and their consent.
This API returns the list of tenants registered by customer.
| customerBaId required | string customerBaId |
| offset | integer <int64> |
| organizationName | string organizationName |
| pageNumber | integer <int32> |
| pageSize | integer <int32> |
| paged | boolean |
| profileNeeded | string profileNeeded |
| sort.sorted | boolean |
| sort.unsorted | boolean |
| unpaged | boolean |
| access_token required | string |
{- "active": true,
- "consentChannels": [
- "IVR"
], - "createdAt": "2019-08-24T14:15:22Z",
- "customerBaId": "string",
- "id": 0,
- "organizationName": "string",
- "profile": {
- "address": "string",
- "city": "string",
- "customerSpocContactNumber": "string",
- "customerSpocEmail": "string",
- "customerSpocName": "string",
- "pincode": "string",
- "state": "string"
}
}This API returns the list of available tenant consent purpose for initiating consent. This API returns the list of consent purpose for which consent can be initiated by customer for location tracking.
| customerBaId required | string customerBaId |
| offset | integer <int64> |
| pageNumber | integer <int32> |
| pageSize | integer <int32> |
| paged | boolean |
| sort.sorted | boolean |
| sort.unsorted | boolean |
| unpaged | boolean |
| access_token required | string |
{- "purposeKey": "string",
- "purposeValue": "string"
}This API returns the list of resource registered by customer for location tracking. Optional query params consent, tracking and daysSinceLastLocationFetched can be used to further filter the result.This API returns the list of resource for which consent initiated by customer for location tracking.
| customerBaId required | string customerBaId |
| tenantId required | string tenantId |
| consent | string Example: consent=PENDING consent |
| daysSinceLastLocationFetched | string Example: daysSinceLastLocationFetched=10 daysSinceLastLocationFetched |
| offset | integer <int64> |
| pageNumber | integer <int32> |
| pageSize | integer <int32> |
| paged | boolean |
| sort.sorted | boolean |
| sort.unsorted | boolean |
| tracking | string Example: tracking=true tracking |
| unpaged | boolean |
| access_token required | string |
{- "consent": "PROCESSING",
- "consentPurpose": "string",
- "language": "EN",
- "lastFetchedLocationTimestamp": "2019-08-24T14:15:22Z",
- "msisdn": "string",
- "name": "string",
- "tracking": true
}This API shall allow the customer to initiate consent on number prefixed by 91 via available channel. Current supported channels are IVR and SMS. Use this to
Supported Language English(en) | Hindi(hi) | Assamese(as) | Bengali(bn) | Oriya(or) | Kannada(kn) | Malayalam(ml) | Tamil(ta) | Telugu(te)
Sample Message:
| customerBaId required | string customerBaId |
| tenantId required | string tenantId |
| access_token required | string |
consentRequest
| channel | string The channel to initiate consent. Defaults to SMS |
| language | string Preferred language to initiate the consent. Default to EN(english) |
| msisdn required | string The Airtel number must be prefixed with 91 followed by 10 digit mobile number. |
| purpose required | string The purpose to initiate consent. |
{- "channel": "SMS",
- "language": "EN",
- "msisdn": "91XXXXXXXXXX",
- "purpose": "TRACKING"
}This API will return the details for requested MSISDN like name, consent status and tracking status.
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| tenantId required | string tenantId |
| access_token required | string |
{- "consent": "PROCESSING",
- "consentPurpose": "string",
- "language": "EN",
- "lastFetchedLocationTimestamp": "2019-08-24T14:15:22Z",
- "msisdn": "string",
- "name": "string",
- "tracking": true
}API to modify tracking and alias(name) for registered msisdn.
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| tenantId required | string tenantId |
| access_token required | string |
resourcePatchOptions
| alias | string The name to msisdn for which consent was initiated |
| isTrackingEnabled | boolean enable/disable tracking for a MSISDN. |
{- "alias": "Albert Einstein",
- "isTrackingEnabled": true
}API to get the consent details insight
Consent States -- PROCESSING | INITIATED | PENDING | ALLOWED | REJECTED | FAILED
Consent Events Types -- MT | DR | MO | CALL | CDR
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| tenantId required | string tenantId |
| access_token required | string |
{- "channel": "IVR",
- "consent": "PROCESSING",
- "events": [
- {
- "channel": "IVR",
- "consentId": "string",
- "initiatedBy": "PLATFORM",
- "meta": {
- "callStatus": "string",
- "consentId": "string",
- "delivered": true,
- "keyPressed": true,
- "language": "EN"
}, - "status": "FAIL",
- "timestamp": "2019-08-24T14:15:22Z",
- "type": "MT"
}
], - "lastRecordedConsent": "PROCESSING",
- "lastRecordedConsentChannel": "IVR",
- "lastRecordedConsentUpdatedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}This API shall allow user to fetch the location of the registered resource. The access token must be generated with “location” scope for using this API. The value for query parameter “type” is ”sync” for synchronous request and ”async” for asynchronous request and the default value is ”sync”. Customer need to register the callback listener for the async API where Locate would post the location.
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| tenantId required | string tenantId |
| type required | string Default: "sync" Example: type=async type |
| access_token required | string |
{- "location": {
- "latitude": 0.1,
- "longitude": 0.1,
- "radius": "string"
}, - "message": "string",
- "retrievedAt": "yyyy-MM-dd HH:mm:ss",
- "status": "string"
}API to get the distance between live network location and given physical address.
| customerBaId required | string customerBaId |
| msisdn required | string msisdn |
| tenantId required | string tenantId |
| access_token required | string |
address
| address required | string address to be validated |
{- "address": "string"
}{- "distance": 0.1,
- "distanceUnit": "string",
- "geocode": {
- "formattedAddress": "string",
- "geocodeLevel": "string",
- "inputAddress": "string",
- "latitude": 0.1,
- "longitude": 0.1
}, - "message": "string",
- "networkCoordinates": {
- "latitude": 0.1,
- "longitude": 0.1,
- "radius": "string"
}, - "status": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}