Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
anwendbar auf: Partnerzentrum | Partnerzentrum betrieben von 21Vianet | Partnerzentrum für die Microsoft-Cloud für die US-Regierung
In diesem Artikel wird erläutert, wie Sie eine Adresse mithilfe der Adressüberprüfungs-API überprüfen.
Die Adressüberprüfungs-API sollte nur für die Vorabvalidierung von Kundenprofilupdates verwendet werden. Basierend auf dem API-Antwortstatus sollte der Aufrufer die am besten geeignete Adresse für den Kunden auswählen.
Voraussetzungen
Anmeldeinformationen wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung mit eigenständigen App- und App+Benutzeranmeldeinformationen.
C#
Um eine Adresse zu überprüfen, instanziieren Sie zuerst ein neues Address-Objekt und füllen Sie sie mit der zu überprüfenden Adresse auf. Rufen Sie dann eine Schnittstelle zu Validations-Vorgängen aus der IAggregatePartner.Validations-Eigenschaft ab, und rufen Sie die IsAddressValid-Methode mit dem Adressobjekt auf.
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();
}
REST-Anforderung
Anforderungssyntax
| Methode | Anforderungs-URI |
|---|---|
| POST | {baseURL}/v1/validations/address HTTP/1.1 |
Anforderungsheader
Weitere Informationen finden Sie unter Partner Center REST-Header.
Anforderungstext
In dieser Tabelle werden die erforderlichen Eigenschaften im Anforderungstext beschrieben.
| Name | Typ | Erforderlich* | Beschreibung |
|---|---|---|---|
| Adresszeile 1 | Schnur | Y | Die erste Zeile der Adresse. |
| Addresszeile2 | Schnur | N | Die zweite Zeile der Adresse. Diese Eigenschaft ist optional. |
| city | Schnur | Y | Die Stadt. |
| Staat | Schnur | Y | Das Land/die Region. |
| Postleitzahl | Schnur | Y | Die Postleitzahl. |
| country | Schnur | Y | Der zweistellige ISO-Alpha-2-Ländercode. |
* Erforderliche Eigenschaften können sich je nach Land oder Region ändern.
Details zur Antwort
Die Antwort gibt eine der folgenden Statusmeldungen zurück. Wenn die Statusantwort nicht überprüft oder verifiedShippable ist, überprüfen Sie Ihre eingegebene Adresse und/oder vorgeschlagene Adresse. Es liegt bei dem Anrufer, die am besten geeignete Adresse für den Kunden auszuwählen.
| Status | Beschreibung | Anzahl der zurückgegebenen vorgeschlagenen Adressen | Empfehlung zur Statusantwort |
|---|---|---|---|
| Versandbereit bestätigt | Die Adresse wurde überprüft und an diese kann versendet werden. | Ledig | Fahren Sie mit der überprüften Adresse fort. |
| Verifiziert | Die Adresse wird überprüft. | Ledig | Fahren Sie mit der überprüften Adresse fort. |
| Interaktion erforderlich | Die vorgeschlagene Adresse wird erheblich geändert und erfordert eine Benutzerbestätigung. | Ledig | Fahren Sie mit der benutzerbestätigten Adresse fort. |
| Straßenabschnitt | Die angegebene Straße in der Adresse ist unvollständig und benötigt weitere Informationen. | Vielfaches – maximal drei | Fahren Sie mit der benutzerbestätigten Adresse fort. |
| Räumlichkeiten teilweise | Die angegebenen Räumlichkeiten (Gebäudenummer, Suitenummer und andere) sind teilweise und benötigen weitere Informationen. | Vielfaches – maximal drei | Fahren Sie mit der benutzerbestätigten Adresse fort. |
| Multiple | Es gibt mehrere Felder, die teilweise in der Adresse enthalten sind (möglicherweise einschließlich Straßenteil und Gebäudeteil). | Vielfaches – maximal drei | Fahren Sie mit der benutzerbestätigten Adresse fort. |
| Nichts | Die Adresse ist falsch. | Nichts | Fahren Sie mit der benutzerbestätigten Adresse fort. |
| Nicht überprüft | Die Adresse konnte nicht über den Überprüfungsprozess gesendet werden. | Nichts | Fahren Sie mit der benutzerbestätigten Adresse fort. |
Hinweis
Vorgeschlagene Adressen sind nicht garantiert und werden nach Bestem Vermögen bereitgestellt.
Beispielanfrage
# "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"
}
REST-Antwort
Bei erfolgreicher Ausführung gibt die Methode ein AddressValidationResponse-Objekt im Antworttext mit einem HTTP 200-Statuscode zurück. Ein Beispiel folgt.
Antworterfolgs- und Fehlercodes
Jede Antwort enthält einen HTTP-Statuscode, der Erfolg oder Fehler und Debugginginformationen angibt. Verwenden Sie ein Netzwerkablaufverfolgungstool, um diesen Code, fehlertyp und andere Parameter zu lesen. Die vollständige Liste finden Sie unter Partner Center-REST-Fehlercodes.
Antwortbeispiel
# "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'"
}