Dela via


Ta bort en förfrågan om återförsäljarrelation med en kund

Gäller för: Partnercenter | Partnercenter som drivs av 21Vianet | Partnercenter för Microsoft Cloud for US Government

Ta bort en återförsäljarrelation med en kund som du inte längre har transaktioner med.

Förutsättningar

  • Autentiseringsuppgifter enligt beskrivningen i Partnercenter-autentisering. Det här scenariot stöder endast autentisering med App+User-autentiseringsuppgifter.

  • Ett kund-ID (customer-tenant-id). Om du inte känner till kundens ID kan du leta upp det i Partnercenter. Välj arbetsytan Kunder på startsidan för Partnercenter. Välj kunden i kundlistan och välj sedan Konto. På kundens kontosida letar du efter Microsoft-ID:t i avsnittet Kundkontoinformation. Microsoft-ID:t är samma som kund-ID :t (customer-tenant-id).

  • Alla Azure Reserved VM Instance-beställningar måste avbrytas innan en återförsäljarrelation tas bort. Kontakta Azure-supporten för att avbryta alla öppna Azure Reserved VM Instance-beställningar.

C#

Om du vill ta bort återförsäljarrelationen för en kund måste du först se till att alla aktiva Azure Reserved VM-instanser för den kunden avbryts. Kontrollera sedan att alla aktiva prenumerationer för kunden är inaktiverade. Det gör du genom att fastställa ID för den kund som du vill ta bort återförsäljarrelationen för. I följande kodexempel uppmanas användaren att ange kundidentifieraren.

Om du vill ta reda på om några Azure Reserved VM-instanser för kunden måste avbrytas hämtar du samlingen av rättigheter genom att anropa metoden IAggregatePartner.Customers.ById med hjälp av kundidentifieraren för att ange kunden och egenskapen Berättiganden för att hämta ett gränssnitt för åtgärder för rättighetsinsamling. Anropa metoden Get eller GetAsync för att hämta rättighetssamlingen. Filtrera samlingen efter eventuella rättigheter med värdet EntitlementType.VirtualMachineReservedInstance och avbryt dem om det finns några genom att anropa supporten innan du fortsätter.

Hämta sedan en samling av kundens prenumerationer genom att anropa metoden IAggregatePartner.Customers.ById med hjälp av kundidentifieraren för att ange kunden och egenskapen Prenumerationer för att hämta ett gränssnitt för prenumerationsinsamlingsåtgärder. Anropa slutligen metoden Get eller GetAsync för att hämta kundens prenumerationssamling. Bläddra igenom prenumerationssamlingen och se till att ingen av prenumerationerna har egenskapsvärdet Subscriptions.Status för SubscriptionStatus.Active. Om en prenumeration fortfarande är aktiv kan du läsa Pausa en prenumeration för information om hur du pausar den.

När du har bekräftat att alla aktiva azure-reserverade VM-instanser för kunden har avbrutits och alla aktiva prenumerationer har inaktiverats kan du ta bort återförsäljarrelationen för kunden. Skapa först ett nytt kundobjekt med egenskapen relationshiptopartner inställt på CustomerPartnerRelationship.None. Anropa sedan metoden IAggregatePartner.Customers.ById med hjälp av kundidentifieraren för att ange kunden och anropa metoden Patch och skicka det nya kundobjektet.

Om du vill återupprätta relationen upprepar du processen med att begära en återförsäljarrelation.

// 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");
}

Exempel: Konsoltestapp. Projekt: PartnerSDK.FeatureSample-klass: DeletePartnerCustomerRelationship.cs

REST-begäran

Syntax för begäran

Metod URI för förfrågan
PATCH {baseURL}/v1/customers/{customer-tenant-id}/ HTTP/1.1

URI-parameter

Den här tabellen visar de frågeparametrar som krävs för att ta bort en återförsäljarrelation.

Namn Typ Obligatoriskt Beskrivning
customer-tenant-id Guid Y Värdet är ett GUID-formaterat kund-klient-ID som identifierar kunden.

Begärandehuvuden

Mer information finns i REST-huvuden för Partnercenter.

Begärandetext

En kundresurs krävs i begärandetexten. Kontrollera att egenskapen RelationshipToPartner inte har angetts till någon.

Exempel på begäran

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: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 9fef8b23-6e3e-45d2-8678-e9fe89c35af5
Date: Fri, 12 Jan 2018 00:31:55 GMT

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

REST-svar

Om det lyckas tar den här metoden bort en återförsäljarrelation för den angivna kunden.

Svarsframgång och felkoder

Varje svar levereras med en HTTP-statuskod som anger lyckad eller misslyckad och ytterligare felsökningsinformation. Använd ett verktyg för nätverksspårning för att läsa den här koden, feltypen och ytterligare parametrar. Den fullständiga listan finns i Rest-felkoder för Partnercenter.

Svarsexempel

HTTP/1.1 200 OK
MS-RequestId: 7988dde4-b516-472c-b226-6d53fb18f04e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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"
    }
}