openId openIdConnect | Recurso | Descripción |
|---|---|
| Device Swap | API operation of device API. |
| KycMatch | Operations to match a customer identity against the account data bound to their phone number. |
| Kyc Age Verification | Operations to verify the age of a user. |
| KycTenure | Check details about the length of tenure of the subscriber |
| Consent Info | API operation of Consent Info API |
| NumberRecycling | APIs to check whether there has been a change in the subscriber associated with the phone number after the specified date. |
| LocationRetrieval | Retrieve the location of a device |
openId openIdConnect | Recurso | Descripción |
|---|---|
| Device Swap | API operation of device API. |
| KycMatch | Operations to match a customer identity against the account data bound to their phone number. |
| Kyc Age Verification | Operations to verify the age of a user. |
| KycTenure | Check details about the length of tenure of the subscriber |
| Consent Info | API operation of Consent Info API |
| NumberRecycling | APIs to check whether there has been a change in the subscriber associated with the phone number after the specified date. |
| LocationRetrieval | Retrieve the location of a device |
Get timestamp of last device swap for a mobile user account provided with phone number.
PATH PARAMETERS
Create a device swap date request for a phone number.
{
"phoneNumber": "+34666111333"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
phoneNumber
*
| string | A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. | pattern: ^\+[1-9][0-9]{4,14}$ |
OK Contains information about Device swap change
{
"latestDeviceChange": "2023-07-03T14:27:08.312+02:00"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
latestDeviceChange
*
| string (date-time) | null | Timestamp of latest device swap performed. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. Recommended format is yyyy-MM-dd'T'HH:mm:ss.SSSZ (i.e. which allows 2023-07-03T14:27:08.312+02:00 or 2023-07-03T12:27:08.312Z) |
Bad Request Bad Request
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unauthorized Unauthorized
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Forbidden Forbidden
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Not Found Not found
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unprocessable Entity Unprocessable Content
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Internal Server Error Internal Server Error
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Service Unavailable Service Unavailable
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Gateway Timeout Gateway Timeout
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
x-correlatorstringCorrelation id for the different services
curl -X POST 'https://opengateway.masstack.com/v0/orgs/masmovil/device-swap/retrieve-date' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"phoneNumber": "+34666111333"
}' Check if device swap has been performed during a past period
PATH PARAMETERS
Create a check device swap request for a phone number.
{
"phoneNumber": "+34666111333",
"maxAge": 240
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
phoneNumber
*
| string | A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. | pattern: ^\+[1-9][0-9]{4,14}$ | |
maxAge | integer (int32) | Period in hours to be checked for device swap. Valid range: 1-2400 hours. | 240 |
OK Returns whether a device swap has been performed during a past period
{
"swapped": true
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
swapped
*
| boolean | Indicates whether the device has been swapped during the period within the provided age. |
Bad Request Bad Request
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unauthorized Unauthorized
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Forbidden Forbidden
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Not Found Not found
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unprocessable Entity Unprocessable Content
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Internal Server Error Internal Server Error
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Service Unavailable Service Unavailable
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Gateway Timeout Gateway Timeout
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
x-correlatorstringCorrelation id for the different services
curl -X POST 'https://opengateway.masstack.com/v0/orgs/masmovil/device-swap/check' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"phoneNumber": "+34666111333",
"maxAge": 240
}' Verify matching of a number of attributes related to a customer identity against the verified data bound to their phone number in the Operator systems. Regardless of whether the phoneNumber is explicitly stated in the request body, at least one of the other fields must be provided, otherwise a HTTP 400 - KNOW_YOUR_CUSTOMER.INVALID_PARAM_COMBINATION error will be returned. The API will return the result of the matching process for each requested attribute. This means that the response will only contain the attributes for which validation has been requested. Possible values are: - true: the attribute provided matches with the one in the Operator systems. - false: the attribute provided does not match with the one in the Operator systems. - not_available: the attribute is not available to validate.
PATH PARAMETERS
{
"phoneNumber": "+34629255833",
"idDocument": "66666666q",
"name": "Federica Sanchez Arjona",
"givenName": "Federica",
"familyName": "Sanchez Arjona",
"nameKanaHankaku": "federica",
"nameKanaZenkaku": "Federica",
"middleNames": "Sanchez",
"familyNameAtBirth": "YYYY",
"address": "Tokyo-to Chiyoda-ku Iidabashi 3-10-10",
"streetName": "Nicolas Salmeron",
"streetNumber": 4,
"postalCode": 1028460,
"region": "Tokyo",
"locality": "ZZZZ",
"country": "JP",
"houseNumberExtension": "VVVV",
"birthdate": "1978-08-22",
"email": "abc@example.com",
"gender": "MALE"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
phoneNumber | string | A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. | pattern: ^\+[1-9][0-9]{4,14}$ | |
idDocument | string | Id number associated to the official identity document in the country. It may contain alphanumeric characters. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
name | string | Complete name of the customer, usually composed of first/given name and last/family/sur- name in a country. Depending on the country, the order of first/give name and last/family/sur- name varies, and middle name could be included. It can use givenName, middleNames, familyName and/or familyNameAtBirth. For example, in ESP, name+familyName; in NLD, it can be name+middleNames+familyName or name+middleNames+familyNameAtBirth, etc. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
givenName | string | First/given name or compound first/given name of the customer. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
familyName | string | Last name, family name, or surname of the customer. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
nameKanaHankaku | string | Complete name of the customer in Hankaku-Kana format (reading of name) for Japan. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
nameKanaZenkaku | string | Complete name of the customer in Zenkaku-Kana format (reading of name) for Japan. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
middleNames | string | Middle name/s of the customer. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
familyNameAtBirth | string | Last/family/sur- name at birth of the customer. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
address | string | Complete billingAddress of the customer. For some countries, it is built following the usual concatenation of parameters in a country, but for other countries, this is not the case. For some countries, it can use streetName, streetNumber and/or houseNumberExtension. For example, in ESP, streetName+streetNumber; in NLD, it can be streetName+streetNumber or streetName+streetNumber+houseNumberExtension. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
streetName | string | Name of the street of the customer's billingAddress. It should not include the type of the street. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
streetNumber | string | The street number of the customer's billingAddress. Number identifying a specific property on the 'streetName'. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
postalCode | string | Zip code or postal code | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
region | string | Region/prefecture of the customer's billingAddress | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
locality | string | Locality of the customer's billingAddress | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
country | string | Country of the customer's billingAddress. Format ISO 3166-1 alpha-2 | pattern: ^[A-Z]{2}$ | |
houseNumberExtension | string | Specific identifier of the house needed depending on the property type. For example, number of apartment in an apartment building. | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
birthdate | string (date) | The birthdate of the customer, in RFC 3339 / ISO 8601 calendar date format (YYYY-MM-DD). | ||
email | string (email) | Email billingAddress of the customer in the RFC specified format (local-part@domain). | pattern: ^(?!.*(;|'|"|\\|alert\(|%|prompt\(|\.\./|<|>|\[|\]|!|#|--)).*$ | |
gender | string
()
MALEFEMALEOTHER | Gender of the customer (Male/Female/Other). |
OK OK
{
"idDocumentMatch": "true",
"nameMatch": "true",
"givenNameMatch": "not_available",
"familyNameMatch": "not_available",
"nameKanaHankakuMatch": "true",
"nameKanaZenkakuMatch": "false",
"middleNamesMatch": "true",
"familyNameAtBirthMatch": "false",
"familyNameAtBirthMatchScore": 90,
"addressMatch": "true",
"streetNameMatch": "true",
"streetNumberMatch": "true",
"postalCodeMatch": "true",
"regionMatch": "true",
"localityMatch": "not_available",
"countryMatch": "true",
"houseNumberExtensionMatch": "not_available",
"birthdateMatch": "false",
"emailMatch": "false",
"emailMatchScore": 87,
"genderMatch": "false"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
idDocumentMatch | string
()
truefalsenot_available | Indicates whether Id number associated to the ID document of the customer matches with the one on the Operator's system. | ||
nameMatch | string
()
truefalsenot_available | Indicates whether the complete name of the customer matches with the one on the Operator's system. | ||
nameMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
givenNameMatch | string
()
truefalsenot_available | Indicates whether First name/given name of the customer matches with the one on the Operator's system. | ||
givenNameMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
familyNameMatch | string
()
truefalsenot_available | Indicates whether last name/ family name/ surname of the customer matches with the one on the Operator's system. | ||
familyNameMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
nameKanaHankakuMatch | string
()
truefalsenot_available | Indicates whether complete name of the customer in Hankaku-Kana format (reading of name) for Japan matches with the one on the Operator's system. | ||
nameKanaHankakuMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
nameKanaZenkakuMatch | string
()
truefalsenot_available | Indicates whether complete name of the customer in Zenkaku-Kana format (reading of name) for Japan matches with the one on the Operator's system. | ||
nameKanaZenkakuMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
middleNamesMatch | string
()
truefalsenot_available | Indicates whether the middle names of the customer matches with the one on the Operator's system. | ||
middleNamesMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
familyNameAtBirthMatch | string
()
truefalsenot_available | Indicates whether the Family Name At Birth of the customer matches with the one on the Operator's system. | ||
familyNameAtBirthMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
addressMatch | string
()
truefalsenot_available | Indicates whether complete billingAddress of the customer matches with the one on the Operator's system. | ||
addressMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
streetNameMatch | string
()
truefalsenot_available | Indicates whether the street name of the customer matches with the one on the Operator's system. | ||
streetNameMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
streetNumberMatch | string
()
truefalsenot_available | Indicates whether the street number of the customer matches with the one on the Operator's system. | ||
streetNumberMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
postalCodeMatch | string
()
truefalsenot_available | Indicates whether the postal code / zip code of the customer matches with the one on the Operator's system. | ||
regionMatch | string
()
truefalsenot_available | Indicates whether the region of the customer's billingAddress matches with the one on the Operator's system. | ||
regionMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
localityMatch | string
()
truefalsenot_available | Indicates whether the locality of the customer's billingAddress matches with the one on the Operator's system. | ||
localityMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
countryMatch | string
()
truefalsenot_available | Indicates whether the country of the customer's billingAddress matches with the one on the Operator's system. | ||
houseNumberExtensionMatch | string
()
truefalsenot_available | Indicates whether the house number extension of the customer's billingAddress matches with the one on the Operator's system. | ||
birthdateMatch | string
()
truefalsenot_available | Indicates whether the birthdate of the customer matches with the one on the Operator's system. | ||
emailMatch | string
()
truefalsenot_available | Indicates whether the email billingAddress of the customer matches with the one on the Operator's system. | ||
emailMatchScore | integer | Indicates the similarity score assigned to the input value when it does not exactly match the value stored in the operator's system. This property shall only be returned when the value of the corresponding match field is `false`. | min: 0 , max: 100 | |
genderMatch | string
()
truefalsenot_available | Indicates whether the gender of the customer matches with the one on the Operator's system. |
Bad Request Problem with the client request.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unauthorized Authentication problem with the client request. Unauthorized error. Access Token related errors.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Forbidden Client does not have sufficient permission.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Not Found Not Found error. Error if URL is wrong / user is not found.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Internal Server Error Server error. Problem with MNO's server side. Some processing error within MNO's servers.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Service Unavailable Service unavailable. Typically the server is down. Problem with MNO's server side. Any unexpected error within MNO's servers.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Gateway Timeout Request time exceeded. If it happens repeatedly, consider reducing the request complexity
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
x-correlatorstringCorrelation id for the different services
curl -X POST 'https://opengateway.masstack.com/v0/orgs/masmovil/kyc-match/match' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"phoneNumber": "+34629255833",
"idDocument": "66666666q",
"name": "Federica Sanchez Arjona",
"givenName": "Federica",
"familyName": "Sanchez Arjona",
"nameKanaHankaku": "federica",
"nameKanaZenkaku": "Federica",
"middleNames": "Sanchez",
"familyNameAtBirth": "YYYY",
"address": "Tokyo-to Chiyoda-ku Iidabashi 3-10-10",
"streetName": "Nicolas Salmeron",
"streetNumber": 4,
"postalCode": 1028460,
"region": "Tokyo",
"locality": "ZZZZ",
"country": "JP",
"houseNumberExtension": "VVVV",
"birthdate": "1978-08-22",
"email": "abc@example.com",
"gender": "MALE"
}' Verify that the age of the subscriber associated with a phone number is equal to or greater than the specified age threshold value.
As it is possible that the person holding the contract and the end-user of the subscription may not be the same, the endpoint also admits a list of optional properties to be included in the request to improve the identification. The response may optionally include the identityMatchScore property with a value that indicates how certain it is that the information returned relates to the person that the API Client is requesting. To increase the reliability of the information returned, the API Provider may include in the response the verifiedStatus property, indicating whether the identity information in its possession has been verified against an identification document legally accepted as an age verification document (Note). Note: Depending on the country, credit-check or other mechanism can be used instead of official identification for Age Verification. For details, please contact API Provider.
If the API Client indicates request properties includeContentLock or includeParentalControl with value true and the API Provider implements this functionality, then the response will also include contentLock and parentalControl properties to indicate if the subscription has any kind of content filtering enabled. On the other hand, if the request properties are not included or the API Client specifies value false, then the response properties will not be returned. If the API Provider doesn't implement this functionality, request properties will be ignored and response properties won't be returned in any case.
PATH PARAMETERS
{
"ageThreshold": 18,
"phoneNumber": "+34629255833",
"idDocument": "66666666q",
"name": "Federica Sanchez Arjona",
"givenName": "Federica",
"familyName": "Sanchez Arjona",
"middleNames": "Sanchez",
"familyNameAtBirth": "YYYY",
"birthdate": "1978-08-22",
"email": "federicaSanchez.Arjona@example.com",
"includeContentLock": true,
"includeParentalControl": true
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
ageThreshold
*
| integer | The age to be verified. The indicated range is a global definition of maximum and minimum values allowed to be requested. It is important to note that this range might be more restrictive in some implementations due to local regulations of a country i.e. A country does not allow to request for an age under 18. This limitation must be informed during the onboarding process. | min: 0 , max: 120 | |
phoneNumber
*
| string | A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. | pattern: ^\+[1-9][0-9]{4,14}$ | |
idDocument | string | Id number associated to the official identity document in the country. It may contain alphanumeric characters. | ||
name | string | Complete name of the customer, usually composed of first/given name and last/family/sur- name in a country. Depending on the country, the order of first/give name and last/family/sur- name varies, and middle name could be included. It can use givenName, middleNames, familyName and/or familyNameAtBirth. For example, in ESP, name+familyName; in NLD, it can be name+middleNames+familyName or name+middleNames+familyNameAtBirth, etc. | ||
givenName | string | First/given name or compound first/given name of the customer. | ||
familyName | string | Last name, family name, or surname of the customer. | ||
middleNames | string | Middle name/s of the customer. | ||
familyNameAtBirth | string | Last/family/sur- name at birth of the customer. | ||
birthdate | string (date) | The birthdate of the customer, in RFC 3339 / ISO 8601 calendar date format (YYYY-MM-DD). | ||
email | string (email) | Email address of the customer in the RFC specified format (local-part@domain). | ||
includeContentLock | boolean | If this parameter is included in the request with value `true`, the response property `contentLock` will be returned. If it is not included or its value is `false`, the response property will not be returned. | false | |
includeParentalControl | boolean | If this parameter is included in the request with value `true`, the response property `parentalControl` will be returned. If it is not included or its value is `false`, the response property will not be returned. | false |
OK OK
{
"ageCheck": "true",
"verifiedStatus": true,
"identityMatchScore": 90,
"contentLock": "false",
"parentalControl": "true"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
ageCheck
*
| string
()
truefalsenot_available | Indicate `"true"` when the age of the user is the same age or older than the age threshold (age >= age threshold), and `"false"` if not (age < age threshold). If the API Provider doesn't have enough information to perform the validation, a `not_available` can be returned. | ||
verifiedStatus | boolean | Indicate `true` if the information provided has been compared against information based on an identification document legally accepted as an age verification document (Note), otherwise indicate `false`. Note: Depending on the country, credit-check or other mechanism can be used instead of official identification for Age Verification. For details, please contact API Provider. | ||
identityMatchScore | integer | The overall score of identity information available in the API Provider, information either provided in the request body comparing it to the one that the API Provider holds or directly using internal API Provider's information. It is optional for the API Provider to return the Identity match score. | min: 0 , max: 100 | |
contentLock | string
()
truefalsenot_available | Indicate `"true"` if the subscription associated with the phone number has any kind of content lock (i.e certain web content blocked) and `"false"` if not. If the information is not available the value `not_available` can be returned. | ||
parentalControl | string
()
truefalsenot_available | Indicate `"true"` if the subscription associated with the phone number has any kind of parental control activated and `"false"` if not. If the information is not available the value `not_available` can be returned. |
Bad Request Problem with the client request.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unauthorized Authentication problem with the client request. Unauthorized error. Access Token related errors.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Forbidden Client does not have sufficient permission.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Not Found Not Found error. Error if URL is wrong / user is not found.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unprocessable Entity Unprocessable entity. The server understands the content type of the request entity and the syntax of the request entity is correct, but it was unable to process the contained instructions. For example, this error can be returned when the subject of the API cannot be identified from the provided parameters or when there is a mismatch between the subject identified from the access token and the one provided in the request.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Internal Server Error Server error. Problem with MNO's server side. Some processing error within MNO's servers.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Service Unavailable Service unavailable. Typically the server is down. Problem with MNO's server side. Any unexpected error within MNO's servers.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Gateway Timeout Request time exceeded. If it happens repeatedly, consider reducing the request complexity
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
x-correlatorstringCorrelation id for the different services
curl -X POST 'https://opengateway.masstack.com/v0/orgs/masmovil/kyc-age-verification/verify' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"ageThreshold": 18,
"phoneNumber": "+34629255833",
"idDocument": "66666666q",
"name": "Federica Sanchez Arjona",
"givenName": "Federica",
"familyName": "Sanchez Arjona",
"middleNames": "Sanchez",
"familyNameAtBirth": "YYYY",
"birthdate": "1978-08-22",
"email": "federicaSanchez.Arjona@example.com",
"includeContentLock": true,
"includeParentalControl": true
}' Verifies a specified length of tenure, based on a provided date, for a network subscriber to establish a level of trust for the network subscription identifier.
PATH PARAMETERS
{
"phoneNumber": "+123456789",
"tenureDate": "2023-07-03"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
phoneNumber
*
| string | A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. | pattern: ^\+[1-9][0-9]{4,14}$ | |
tenureDate
*
| string (date) | The date, in RFC 3339 / ISO 8601 compliant format "YYYY-MM-DD", from which continuous tenure of the identified network subscriber is required to be confirmed. The date must not be in the future (i.e., it must be less than or equal to the current date). If a future date is provided, a `400 INVALID_ARGUMENT` error will be returned. |
OK Respond with tenure information
{
"tenureDateCheck": true,
"contractType": "PAYM"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
tenureDateCheck
*
| boolean | `true` when the identified mobile subscription has had valid tenure since `tenureDate`, otherwise `false` | ||
contractType | string
()
PAYGPAYMBusiness | If exists, populated with: - `PAYG` - prepaid (pay-as-you-go) account - `PAYM` - contract account - `Business` - Business (enterprise) account This attribute may be omitted from the response set if the information is not available |
Bad Request Problem with the client request.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unauthorized Authentication problem with the client request. Unauthorized error. Access Token related errors.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Forbidden Client does not have sufficient permission.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Not Found Not Found error. Error if URL is wrong / user is not found.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unprocessable Entity Unprocessable entity. The server understands the content type of the request entity and the syntax of the request entity is correct, but it was unable to process the contained instructions. For example, this error can be returned when the subject of the API cannot be identified from the provided parameters or when there is a mismatch between the subject identified from the access token and the one provided in the request.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
x-correlatorstringCorrelation id for the different services
curl -X POST 'https://opengateway.masstack.com/v0/orgs/masmovil/kyc-tenure/check-tenure' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"phoneNumber": "+123456789",
"tenureDate": "2023-07-03"
}' Create a request to retrieve the validity status of the API Consumer data processing for a given User, scope(s) and Purpose. The API Consumer is identified by the client_id parameter deduced from the access token.
PATH PARAMETERS
Retrieve status request
{
"phoneNumber": "+123456789",
"clientId": "api-consumer",
"scopes": [
"location-verification:verify"
],
"purpose": "dpv:FraudPreventionAndDetection",
"requestCaptureUrl": true
} {
"phoneNumber": "+123456789",
"clientId": "api-consumer",
"scopes": [
"quality-on-demand:sessions:create",
"quality-on-demand:sessions:read",
"quality-on-demand:sessions:update",
"quality-on-demand:sessions:delete",
"quality-on-demand:sessions:retrieve-by-device"
],
"purpose": "dpv:RequestedServiceProvision",
"requestCaptureUrl": true
} {
"phoneNumber": "+123456789",
"clientId": "api-consumer",
"scopes": [
"location-verification:verify",
"device-roaming-status:read"
],
"purpose": "dpv:FraudPreventionAndDetection",
"requestCaptureUrl": true
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
phoneNumber
*
| string | A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. | pattern: ^\+[1-9][0-9]{4,14}$ | |
clientId
*
| string | The client identifier of the API Consumer, as registered with the API Provider. | ||
scopes
*
| string[] | List of requested scopes. The scope is a string that represents the access rights that the API Consumer is requesting from the User. | minItems: 1 | |
purpose
*
| string | The reason for which personal data will be processed by the API Consumer. CAMARA defines a standard set of Purposes which can be used by API Consumers to specify the reason for their intended personal data processing. CAMARA uses the [W3C Data Privacy Vocabulary](https://w3c.github.io/dpv/2.0/dpv/) (DPV) to represent these purposes e.g. `dpv:FraudPreventionAndDetection` or `dpv:RequestedServiceProvision`. | pattern: ^dpv:[a-zA-Z0-9]+$ | |
requestCaptureUrl
*
| boolean | A boolean flag indicating whether the API Consumer requests API Provider to return a Consent capture URL. * `true` - If set to `true` the API will include a `captureUrl` in the response body if applicable. * `false` - The API will omit the Consent capture URL from the response. |
OK OK
{
"statusInfo": [
{
"scopes": [
"number-verification:verify"
],
"purpose": "dpv:FraudPreventionAndDetection",
"statusValidForProcessing": true
}
]
} | Property | Type | Description | Constraints | Default | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
statusInfo
*
| object[] | Provides information about the validity status of the requested data processing for the specified scope(s) and Purpose. It contains details of whether the processing of the data is currently valid and, if not, the reason why. The expiration date of the validity may be also provided if applicable. More than one array item may be required for the requested scope(s) and Purpose, e.g. when the requested scopes relate to multiple APIs. | minItems: 1 | |||||||||||||||||||||||||||||||
Array items:
| ||||||||||||||||||||||||||||||||||
captureUrl | string (url) | URL where the User can provide the necessary Consent. This field is only present in the API response if the API Consumer requests it and if the following conditions are met: - `statusInfo[*].statusValidForProcessing` is `false`, and - `statusInfo[*].statusReason` is `PENDING`, `REQUESTED` or `EXPIRED`. Please note that this field is only applicable when the User Consent is required to enable valid data processing. A unique URL is provided to authorise all items in the statusInfo list that require user action. | ||||||||||||||||||||||||||||||||
Bad Request Problem with the client request
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unauthorized Unauthorized
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Forbidden Client does not have sufficient permission.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unprocessable Entity Unprocessable Content
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Internal Server Error Server error
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Service Unavailable Service unavailable. Typically the server is down.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Gateway Timeout Request time exceeded. If it happens repeatedly, consider reducing the request complexity
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
x-correlatorunknowncurl -X POST 'https://opengateway.masstack.com/v0/orgs/masmovil/consent-info/retrieve' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"phoneNumber": "+123456789",
"clientId": "api-consumer",
"scopes": [
"location-verification:verify"
],
"purpose": "dpv:FraudPreventionAndDetection",
"requestCaptureUrl": true
}' Check whether the subscriber of the phone number has changed.
PATH PARAMETERS
Check whether the subscriber of the phone number has changed.
{
"phoneNumber": "+123456789",
"specifiedDate": "2024-10-31"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
phoneNumber
*
| string | A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. | pattern: ^\+[1-9][0-9]{4,14}$ | |
specifiedDate
*
| string (date) | Specified date to check whether there has been a change in the subscriber associated with the specific phone number, in RFC 3339 calendar date format (YYYY-MM-DD). |
OK OK
{
"phoneNumberRecycled": true
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
phoneNumberRecycled
*
| boolean | Set to true (Boolean, not string) when there has been a change in the subscriber associated with the specific phone number after “specifiedDate”. |
Bad Request Problem with the client request.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unauthorized Authentication problem with the client request. Unauthorized error. Access Token related errors.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Forbidden Client does not have sufficient permission.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Not Found Not Found error. Error if URL is wrong / user is not found.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unprocessable Entity Unprocessable Entity. Problem with the client request.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Internal Server Error Server error. Problem with MNO's server side. Some processing error within MNO's servers.
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
x-correlatorstringCorrelation id for the different services
curl -X POST 'https://opengateway.masstack.com/v0/orgs/masmovil/number-recycling/check' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"phoneNumber": "+123456789",
"specifiedDate": "2024-10-31"
}' Retrieve the area where a certain user device is localized.
PATH PARAMETERS
{
"device": {
"phoneNumber": "+123456789"
},
"maxAge": 120
} {
"device": {
"phoneNumber": "+123456789"
},
"maxAge": 120,
"maxSurface": 1000000
} {
"device": {
"ipv4Address": {
"publicAddress": "123.234.1.2",
"publicPort": 1234
}
}
} {
"maxAge": 120
} {
"device": {
"phoneNumber": "+123456789",
"ipv4Address": {
"publicAddress": "123.234.1.2",
"publicPort": 1234
}
}
} | Property | Type | Description | Constraints | Default | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
phoneNumber
*
| string | A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. | pattern: ^\+[1-9][0-9]{4,14}$ | |||||||||||||||||||||||||||||||||||||||||||||||||||
device | object | End-user device able to connect to a mobile network. Examples of devices include smartphones or IoT sensors/actuators. The developer can choose to provide the below specified device identifiers: * `ipv4Address` * `ipv6Address` * `phoneNumber` * `networkAccessIdentifier` NOTE1: the network operator might support only a subset of these options. The API invoker can provide multiple identifiers to be compatible across different network operators. In this case the identifiers MUST belong to the same device. Where more than one device identifier is provided, only one identifier will be selected by the implementation and this choice indicated to the API consumer in the response. NOTE2: as for this Commonalities release, we are enforcing that the networkAccessIdentifier is only part of the schema for future-proofing, and CAMARA does not currently allow its use. After the CAMARA meta-release work is concluded and the relevant issues are resolved, its use will need to be explicitly documented in the guidelines. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
maxAge | integer | Maximum age of the location information which is accepted for the location retrieval (in seconds). Absence of maxAge means "any age" and maxAge=0 means a fresh calculation. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
maxSurface | integer | Maximum surface in square meters which is accepted by the client for the location retrieval. Absence of maxSurface means "any surface size". | min: 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||
OK Location retrieval result
{
"lastLocationTime": "2023-09-07T10:40:52Z",
"area": {
"areaType": "CIRCLE",
"center": {
"latitude": 50.735851,
"longitude": 7.10066
},
"radius": 0
},
"device": {
"phoneNumber": "+123456789",
"networkAccessIdentifier": "123456789@domain.com",
"ipv4Address": {
"publicAddress": "84.125.93.10",
"publicPort": 59765
},
"ipv6Address": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
}
} | Property | Type | Description | Constraints | Default | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lastLocationTime
*
| string (date-time) | Last date and time when the device was localized. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
area
*
| object | object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
One of: Option 1
Option 2
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
device | object | An identifier for the end-user equipment able to connect to the network that the response refers to. This parameter is only returned when the API consumer includes the `device` parameter in their request (i.e. they are using a two-legged access token), and is relevant when more than one device identifier is specified, as only one of those device identifiers is allowed in the response. If the API consumer provides more than one device identifier in their request, the API provider must return a single identifier which is the one they are using to fulfil the request, even if the identifiers do not match the same device. API provider does not perform any logic to validate/correlate that the indicated device identifiers match the same device. No error should be returned if the identifiers are otherwise valid to prevent API consumers correlating different identifiers with a given end user. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bad Request Bad Request
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unauthorized Unauthorized
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Forbidden Forbidden
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Not Found Not found
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
Unprocessable Entity Unprocessable Content
{
"code": "string",
"title": "string",
"ref": "string",
"details": "string"
} | Property | Type | Description | Constraints | Default |
|---|---|---|---|---|
code
*
| string | code of the error | ||
title
*
| string | title of the error | ||
ref
*
| string | ref of the error | ||
details
*
| string | details of the error |
curl -X POST 'https://opengateway.masstack.com/v0/orgs/masmovil/location-retrieval/retrieve' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"device": {
"phoneNumber": "+123456789"
},
"maxAge": 120
}'