Matching a customer identity by checking a set of attributes related against the account data bound to their phone number.
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, which is equal to a
match_scoreof 100. - false: the attribute provided does not match with the one in the Operator systems.
- not_available: the attribute is not available to validate.
Body ParametersJSON
Complete address 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.
The birthdate of the customer, in RFC 3339 / ISO 8601 calendar date format (YYYY-MM-DD).
Email address of the customer in the RFC specified format (local-part@domain).
Specific identifier of the house needed depending on the property type. For example, number of apartment in an apartment building.
Id number associated to the official identity document in the country. It may contain alphanumeric characters.
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.
Complete name of the customer in Hankaku-Kana format (reading of name) for Japan.
Complete name of the customer in Zenkaku-Kana format (reading of name) for Japan.
ISO 3166-1 alpha-2 code of the customer’s nationality. In the case a customer has more than one nationality, it is supposed to be the nationality related to the ID document provided in the match request.
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 ’+’.
Returns
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
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.
A perfect match with a score of 100 is indicated by match being ‘true’ and no matchScore is returned in this case.
Matching a customer identity by checking a set of attributes related against the account data bound to their phone number.
curl https://api.example.com/camara/knowyourcustomermatch/match \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $CAMARA_BEARER_TOKEN" \
-d '{
"phoneNumber": "+34629255833"
}'{
"idDocumentMatch": "true",
"idDocumentTypeMatch": "true",
"idDocumentExpiryDateMatch": "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",
"cityOfBirthMatch": "false",
"cityOfBirthMatchScore": 86,
"countryOfBirthMatch": "true",
"nationalityMatch": "true"
}{
"status": 400,
"code": "INVALID_ARGUMENT",
"message": "Client specified an invalid argument, request body or query param."
}{
"status": 400,
"code": "KNOW_YOUR_CUSTOMER.INVALID_PARAM_COMBINATION",
"message": "Indicated parameter combination is invalid"
}{
"status": 401,
"code": "UNAUTHENTICATED",
"message": "Request not authenticated due to missing, invalid, or expired credentials. A new authentication is required."
}{
"status": 403,
"code": "PERMISSION_DENIED",
"message": "Client does not have sufficient permissions to perform this action."
}{
"status": 403,
"code": "INVALID_TOKEN_CONTEXT",
"message": "phoneNumber is not consistent with access token."
}{
"status": 404,
"code": "NOT_FOUND",
"message": "The specified resource is not found."
}{
"status": 404,
"code": "IDENTIFIER_NOT_FOUND",
"message": "The phone number provided is not associated with a customer account"
}{
"status": 422,
"code": "SERVICE_NOT_APPLICABLE",
"message": "The service is not applicable for the provided phone number"
}{
"status": 422,
"code": "MISSING_IDENTIFIER",
"message": "No phone number has been provided"
}Returns Examples
{
"idDocumentMatch": "true",
"idDocumentTypeMatch": "true",
"idDocumentExpiryDateMatch": "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",
"cityOfBirthMatch": "false",
"cityOfBirthMatchScore": 86,
"countryOfBirthMatch": "true",
"nationalityMatch": "true"
}{
"status": 400,
"code": "INVALID_ARGUMENT",
"message": "Client specified an invalid argument, request body or query param."
}{
"status": 400,
"code": "KNOW_YOUR_CUSTOMER.INVALID_PARAM_COMBINATION",
"message": "Indicated parameter combination is invalid"
}{
"status": 401,
"code": "UNAUTHENTICATED",
"message": "Request not authenticated due to missing, invalid, or expired credentials. A new authentication is required."
}{
"status": 403,
"code": "PERMISSION_DENIED",
"message": "Client does not have sufficient permissions to perform this action."
}{
"status": 403,
"code": "INVALID_TOKEN_CONTEXT",
"message": "phoneNumber is not consistent with access token."
}{
"status": 404,
"code": "NOT_FOUND",
"message": "The specified resource is not found."
}{
"status": 404,
"code": "IDENTIFIER_NOT_FOUND",
"message": "The phone number provided is not associated with a customer account"
}{
"status": 422,
"code": "SERVICE_NOT_APPLICABLE",
"message": "The service is not applicable for the provided phone number"
}{
"status": 422,
"code": "MISSING_IDENTIFIER",
"message": "No phone number has been provided"
}