Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
s’applique à: Espace partenaires | Espace partenaires géré par 21Vianet | Espace partenaires pour Microsoft Cloud pour le gouvernement des États-Unis
Cet article explique comment valider une adresse à l’aide de l’API de validation d’adresse.
L’API de validation d’adresse ne doit être utilisée que pour la prévalidation des mises à jour de profil client. En fonction de l’état de réponse de l’API, l’appelant doit choisir l’adresse la plus appropriée pour le client.
Prerequisites
Informations d’identification décrites dans l’authentification de l’Espace partenaires. Ce scénario prend en charge l'authentification avec des identifiants d'application autonomes ainsi que des identifiants combinés application+utilisateur.
C#
Pour valider une adresse, instanciez d’abord un nouvel objet Address et remplissez-le avec l’adresse à valider. Ensuite, récupérez une interface vers les opérations Validations à partir de la propriété IAggregatePartner.Validations , puis appelez la méthode IsAddressValid avec l’objet d’adresse.
IAggregatePartner partnerOperations;
// Create an address to validate.
Address address = new Address()
{
AddressLine1 = "One Microsoft Way",
City = "Redmond",
State = "WA",
PostalCode = "98052",
Country = "US"
};
// Validate the address.
AddressValidationResponse result = partnerOperations.Validations.IsAddressValid(address);
// If the request completes successfully, you can inspect the response object.
// See the status of the validation.
Console.WriteLine($"Status: {addressValidationResult.Status}");
// See the validation message returned.
Console.WriteLine($"Validation Message Returned: {addressValidationResult.ValidationMessage ?? "No message returned."}");
// See the original address submitted for validation.
Console.WriteLine($"Original Address:\n{this.DisplayAddress(addressValidationResult.OriginalAddress)}");
// See the suggested addresses returned by the API, if any exist.
Console.WriteLine($"Suggested Addresses Returned: {addressValidationResult.SuggestedAddresses?.Count ?? "None."}");
if (addressValidationResult.SuggestedAddresses != null && addressValidationResult.SuggestedAddresses.Any())
{
addressValidationResult.SuggestedAddresses.ForEach(a => Console.WriteLine(this.DisplayAddress(a)));
}
// Helper method to pretty-print an Address object.
private string DisplayAddress(Address address)
{
StringBuilder sb = new StringBuilder();
foreach (var property in address.GetType().GetProperties())
{
sb.AppendLine($"{property.Name}: {property.GetValue(address) ?? "None to Display."}");
}
return sb.ToString();
}
Requête REST
Syntaxe de la requête
| Méthode | URI de la requête |
|---|---|
| POST | {baseURL}/v1/validations/address HTTP/1.1 |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.
Corps de la demande
Ce tableau décrit les propriétés requises dans le corps de la requête.
| Nom | Type | Obligatoire* | Description |
|---|---|---|---|
| ligne d'adresse 1 | ficelle | Oui | Première ligne de l’adresse. |
| ligneadresse2 | ficelle | N | Deuxième ligne de l’adresse. Cette propriété est facultative. |
| city | ficelle | Oui | La ville. |
| état | ficelle | Oui | État. |
| code postal | ficelle | Oui | Le code postal. |
| country | ficelle | Oui | Code pays ISO alpha-2 à deux caractères. |
* Les propriétés requises peuvent changer en fonction du pays ou de la région.
Détails de la réponse
La réponse retourne l’un des messages d’état suivants. Si la réponse d’état n’est pas Vérifié ou VérifiéShippable, passez en revue votre adresse saisie et/ou l’adresse suggérée. Il appartient à l’appelant de choisir l’adresse la plus appropriée pour le client.
| État | Description | Nombre d’adresses suggérées retournées | Recommandation de réponse de statut |
|---|---|---|---|
| Produit livrable vérifié | L'adresse est vérifiée et des envois peuvent être effectués vers celle-ci. | Célibataire | Procédez avec l’adresse vérifiée. |
| Vérifié | L’adresse est vérifiée. | Célibataire | Procédez avec l’adresse vérifiée. |
| Interaction requise | L’adresse suggérée est considérablement modifiée et nécessite la confirmation de l’utilisateur. | Célibataire | Passez à l’adresse confirmée par l’utilisateur. |
| Rue partiellement fermée | La rue donnée dans l’adresse est partielle et nécessite plus d’informations. | Multiple : maximum de trois | Passez à l’adresse confirmée par l’utilisateur. |
| Installation partielle | Les locaux donnés (numéro de construction, numéro de suite et autres) sont partiels et nécessitent plus d’informations. | Multiple : maximum de trois | Passez à l’adresse confirmée par l’utilisateur. |
| Multiple | Il existe plusieurs champs qui sont partiels dans l’adresse (éventuellement, y compris la rue partielle et la partie des locaux). | Multiple : maximum de trois | Passez à l’adresse confirmée par l’utilisateur. |
| Aucun | L’adresse est incorrecte. | Aucun | Passez à l’adresse confirmée par l’utilisateur. |
| Non validé | L’adresse n’a pas pu être envoyée via le processus de validation. | Aucun | Passez à l’adresse confirmée par l’utilisateur. |
Note
Les adresses suggérées ne sont pas garanties et sont fournies comme étant optimales.
Exemple de requête
# "VerifiedShippable" Request Example
POST https://api.partnercenter.microsoft.com/v1/validations/address HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <token>
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: eb55c2b8-6f4b-4b44-9557-f76df624b8c0
Host: api.partnercenter.microsoft.com
Content-Length: 137
X-Locale: en-US
{
"AddressLine1": "1 Microsoft Way",
"City": "Redmond",
"State": "WA",
"PostalCode": "98052",
"Country": "US"
}
# "StreetPartial" Request Example
POST https://api.partnercenter.microsoft.com/v1/validations/address HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <token>
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
MS-RequestId: ee6cf74c-3ab5-48d6-9269-4a4b75bd59dc
Host: api.partnercenter.microsoft.com
Content-Length: 135
X-Locale: en-US
{
"AddressLine1": "Microsoft Way",
"City": "Redmond",
"State": "WA",
"PostalCode": "98052",
"Country": "US"
}
Réponse REST
Si elle réussit, la méthode renvoie un objet AddressValidationResponse dans le corps de la réponse, avec un code d’état HTTP 200 . Voici un exemple.
Réussite de la réponse et codes d’erreur
Chaque réponse est fournie avec un code d’état HTTP qui indique la réussite ou l’échec et les informations de débogage. Utilisez un outil de suivi réseau pour lire ce code, le type d’erreur et d’autres paramètres. Pour obtenir la liste complète, consultez Codes d’erreur REST de Partner Center.
Exemple de réponse
# "VerifiedShippable" Response Example
HTTP/1.1 200 OK
Date: Mon, 17 May 2021 23:19:19 GMT
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: eb55c2b8-6f4b-4b44-9557-f76df624b8c0
X-Locale: en-US
{
"originalAddress": {
"country": "US",
"city": "Redmond",
"state": "WA",
"addressLine1": "1 Microsoft Way",
"postalCode": "98052"
},
"suggestedAddresses": [
{
"country": "US",
"city": "Redmond",
"state": "WA",
"addressLine1": "1 Microsoft Way",
"postalCode": "98052-8300"
}
],
"status": "VerifiedShippable"
}
# "StreetPartial" Response Example
HTTP/1.1 200 OK
Date: Mon, 17 May 2021 23:34:08 GMT
Content-Type: application/json; charset=utf-8
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
MS-RequestId: ee6cf74c-3ab5-48d6-9269-4a4b75bd59dc
X-Locale: en-US
{
"originalAddress": {
"country": "US",
"city": "Redmond",
"state": "WA",
"addressLine1": "Microsoft Way",
"postalCode": "98052"
},
"suggestedAddresses": [
{
"country": "US",
"city": "Redmond",
"state": "WA",
"addressLine1": "1 Microsoft Way",
"postalCode": "98052-6399"
}
],
"status": "StreetPartial",
"validationMessage": "Address field invalid for property: 'Region', 'PostalCode', 'City'"
}