Delen via


Een relatie als reseller met een klant verwijderen

Van toepassing op: Partnercentrum | Partnercentrum beheerd door 21Vianet | Partnercentrum voor Microsoft Cloud voor de Amerikaanse overheid

Verwijder een resellerrelatie met een klant waarmee u geen transacties meer hebt.

Vereisten

  • Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario biedt alleen ondersteuning voor verificatie met app+gebruikersreferenties.

  • Een klant-id (customer-tenant-id). Als u de klant-id niet weet, kunt u deze opzoeken in partnercentrum. Selecteer de werkruimte Klanten op de startpagina van Partnercentrum. Selecteer de klant in de lijst Klant en selecteer Vervolgens Account. Zoek op de pagina Account van de klant naar de Microsoft-id in de sectie Details van het klantaccount. De Microsoft-id is hetzelfde als de klant-id (customer-tenant-id).

  • Alle orders van gereserveerde VM-instanties van Azure moeten worden geannuleerd voordat een resellerrelatie wordt verwijderd. Roep ondersteuning voor Azure aan voor het annuleren van openstaande azure Reserved VM Instance-bestellingen.

C#

Als u de resellerrelatie voor een klant wilt verwijderen, moet u eerst controleren of actieve gereserveerde AZURE VM-instanties voor die klant worden geannuleerd. Zorg er vervolgens voor dat alle actieve abonnementen voor die klant worden onderbroken. Hiervoor bepaalt u de id van de klant voor wie u de resellerrelatie wilt verwijderen. In het volgende codevoorbeeld wordt de gebruiker gevraagd om de klant-id op te geven.

Als u wilt bepalen of gereserveerde INSTANTIES van azure-VM's voor de klant moeten worden geannuleerd, haalt u de verzameling rechten op door de methode IAggregatePartner.Customers.ById aan te roepen met behulp van de klant-id om de klant op te geven en de eigenschap Rechten om een interface op te halen voor rechtenverzamelingsbewerkingen. Roep de get- of GetAsync-methode aan om de rechtenverzameling op te halen. Filter de verzameling voor rechten met een EntitlementType-waarde van EntitlementType.VirtualMachineReservedInstance en indien aanwezig, annuleer ze door de ondersteuning aan te roepen voordat u doorgaat.

Haal vervolgens een verzameling abonnementen van de klant op door de methode IAggregatePartner.Customers.ById aan te roepen met behulp van de klant-id om de klant op te geven en de eigenschap Abonnementen om een interface op te halen voor abonnementverzamelingsbewerkingen. Roep ten slotte de methode Get of GetAsync aan om de verzameling abonnementen van de klant op te halen. Ga door de abonnementsverzameling en zorg ervoor dat geen van de abonnementen de eigenschap Subscriptions.Status van SubscriptionStatus.Active heeft. Als een abonnement nog steeds actief is, raadpleegt u Een abonnement onderbreken voor informatie over hoe u het kunt onderbreken.

Nadat u hebt bevestigd dat alle actieve gereserveerde AZURE VM-instanties voor die klant worden geannuleerd en alle actieve abonnementen zijn onderbroken, kunt u de resellerrelatie voor de klant verwijderen. Maak eerst een nieuw klantobject met de eigenschap relationshiptopartner ingesteld op CustomerPartnerRelationship.None. Roep vervolgens de methode IAggregatePartner.Customers.ById aan met behulp van de klant-id om de klant op te geven en roep de Patch-methode aan, waarbij het nieuwe klantobject wordt doorgegeven.

Herhaal het proces van het aanvragen van een resellerrelatie om de relatie opnieuw tot stand te brengen.

// IAggregatePartner partnerOperations;

// Prompt the user the enter the customer ID.
var customerIdToDeleteRelationshipOf = this.Context.ConsoleHelper.ReadNonEmptyString("Please enter the ID of the customer you want to delete the relationship with", "The customer ID can't be empty");

// Determine if there are any active Azure Reserved VM Instances for this customer.
ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Entitlements.Get();

If (entitlements.Items.Where(x => x.EntitlementType == EntitlementType.VirtualMachineReservedInstance).Any())
{
    this.Context.ConsoleHelper.Warning("Please cancel Azure Reserved Virtual Machine Instance orders through support and try again. Aborting the delete customer relationship operation");
               return;
}

// Verify that there are no active subscriptions.
ResourceCollection<Subscription> customerSubscriptions = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Subscriptions.Get();
IList<Subscription> subscriptions = new List<Subscription>(customerSubscriptions.Items);

foreach (Subscription customerSubscription in subscriptions)
{
    if (customerSubscription.Status == SubscriptionStatus.Active)
    {
        this.Context.ConsoleHelper.Warning(String.Format("Subscription with ID :{0}  OfferName: {1} cannot be in active state, ", customerSubscription.Id, customerSubscription.OfferName));
        this.Context.ConsoleHelper.Warning("Please Suspend all the Subscriptions and try again. Aborting the delete customer relationship operation");
               return;
    }
}

// Delete the customer's relationship to the partner.
Customer customer = new Customer();
customer.RelationshipToPartner = CustomerPartnerRelationship.None;
customer = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Patch(customer);

if (customer.RelationshipToPartner == CustomerPartnerRelationship.None)
{
    this.Context.ConsoleHelper.Success("Customer Partner Relationship successfully deleted");
}

Voorbeeld: consoletest-app. Project: Klasse PartnerSDK.FeatureSample: DeletePartnerCustomerRelationship.cs

REST-aanvraag

Aanvraagsyntaxis

Methode Aanvraag-URI
PATCH {baseURL}/v1/customers/{customer-tenant-id}/ HTTP/1.1

URI-parameter

Deze tabel bevat de vereiste queryparameters om een resellerrelatie te verwijderen.

Name Type Vereist Beschrijving
klant-tenant-id Guid J De waarde is een door de klant opgemaakte klant-tenant-id die de klant identificeert.

Aanvraagheaders

Zie Rest-headers in Partnercentrum voor meer informatie.

Aanvraagtekst

Een klantresource is vereist in de aanvraagbody. Zorg ervoor dat de eigenschap RelationshipToPartner is ingesteld op geen.

Aanvraagvoorbeeld

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id> HTTP/1.1
Authorization: Bearer <token>
Content-Length: 74
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 9b4bf2ca-f374-4d51-9113-781ca87b8380
MS-RequestId: 9fef8b23-6e3e-45d2-8678-e9fe89c35af5
Date: Fri, 12 Jan 2018 00:31:55 GMT

{
    "relationshipToPartner":"none",
    "attributes":{
        "objectType":"Customer"
    }
}

REST-antwoord

Als dit lukt, wordt met deze methode een resellerrelatie voor de opgegeven klant verwijderd.

Geslaagde antwoorden en foutcodes

Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat de fout is geslaagd of mislukt en aanvullende informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en aanvullende parameters te lezen. Zie rest-foutcodes in Partnercentrum voor de volledige lijst.

Responsvoorbeeld

HTTP/1.1 200 OK
MS-RequestId: 7988dde4-b516-472c-b226-6d53fb18f04e
MS-CorrelationId: 9b4bf2ca-f374-4d51-9113-781ca87b8380
X-Locale: en-US
Content-Type: application/json
Content-Length: 242
Expect: 100-continue

{
    "Id":null,
    "CommerceId":null,
    "CompanyProfile":null,
    "BillingProfile":null,
    "RelationshipToPartner":"none",
    "AllowDelegatedAccess":null,
    "UserCredentials":null,
    "CustomDomains":null,
    "AssociatedPartnerId":null,
    "Attributes":{
        "ObjectType":"Customer"
    }
}