Odebrání vztahu prodejce se zákazníkem
Odeberte vztah prodejce se zákazníkem, se kterým už nemáte transakce.
Požadavky
Přihlašovací údaje, jak je popsáno v tématu Ověřování v Partnerském centru. Tento scénář podporuje ověřování pouze pomocí přihlašovacích údajů aplikace a uživatele.
ID zákazníka (
customer-tenant-id
). Pokud ID zákazníka neznáte, můžete ho vyhledat v Partnerském centru. Na domovské stránce Partnerského centra vyberte pracovní prostor Zákazníci . V seznamu Zákazník vyberte zákazníka a pak vyberte Účet. Na stránce Účet zákazníka vyhledejte ID Microsoft v části Podrobnosti o účtu zákazníka. ID Microsoftu je stejné jako ID zákazníka (customer-tenant-id
).Před odebráním vztahu prodejce je potřeba zrušit všechny objednávky rezervovaných instancí virtuálních počítačů Azure. Zavolejte podpora Azure pro zrušení všech otevřených objednávek rezervovaných instancí virtuálních počítačů Azure.
C#
Pokud chcete odebrat vztah prodejce pro zákazníka, nejprve se ujistěte, že jsou zrušené všechny aktivní rezervované instance virtuálních počítačů Azure pro daného zákazníka. Dále se ujistěte, že jsou všechna aktivní předplatná pro daného zákazníka pozastavená. Uděláte to tak, že určíte ID zákazníka, u kterého chcete odstranit vztah prodejce. V následujícím příkladu kódu se uživateli zobrazí výzva k zadání identifikátoru zákazníka.
Pokud chcete zjistit, jestli je potřeba zrušit nějaké rezervované instance virtuálních počítačů Azure pro zákazníka, načtěte kolekci nároků voláním metody IAggregatePartner.Customers.ById s použitím identifikátoru zákazníka k určení zákazníka a vlastnosti Entitlements pro načtení rozhraní pro operace shromažďování nároků. Volejte metodu Get nebo GetAsync , která načte kolekci nároků. Vyfiltrujte kolekci pro všechna oprávnění s hodnotou EntitlementTypeEntitlementType.VirtualMachineReservedInstance , a pokud existují, zrušte je zavoláním podpory, než budete pokračovat.
Potom načtěte kolekci předplatných zákazníka voláním metody IAggregatePartner.Customers.ById s použitím identifikátoru zákazníka k určení zákazníka a vlastnosti Subscriptions pro načtení rozhraní pro operace kolekce předplatných. Nakonec zavolejte metodu Get nebo GetAsync , která načte kolekci předplatných zákazníka. Projdete kolekci předplatného a ujistěte se, že žádné z předplatných nemá hodnotu vlastnosti Subscriptions.Status jako SubscriptionStatus.Active. Pokud je předplatné stále aktivní, přečtěte si téma Pozastavení předplatného , kde najdete informace o tom, jak ho pozastavit.
Jakmile ověříte, že všechny aktivní instance rezervovaných virtuálních počítačů Azure pro daného zákazníka jsou zrušené a všechna aktivní předplatná jsou pozastavená, můžete pro zákazníka odebrat vztah prodejce. Nejprve vytvořte nový objekt [Customer/dotnet/api/microsoft.store.partnercenter.models.customers.customer) s vlastností [Customer.RelationshipToPartner/dotnet/api/microsoft.store.partnercenter.models.customers.customer.relationshiptopartner) nastavenou na Hodnotu CustomerPartnerRelationship.None. Pak zavolejte metodu IAggregatePartner.Customers.ById pomocí identifikátoru zákazníka k určení zákazníka a zavolejte metodu Patch a předejte nový objekt zákazníka.
Pokud chcete relaci znovu vytvořit, zopakujte proces [žádost o vztah prodejce/partner-centrum/vývoj/request-reseller-relationship).
// 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");
}
Ukázka: Testovací aplikace konzoly Projekt: PartnerSDK.FeatureSample – třída: DeletePartnerCustomerRelationship.cs
Požadavek REST
Syntaxe požadavku
Metoda | Identifikátor URI žádosti |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/ HTTP/1.1 |
Parametr identifikátoru URI
Tato tabulka uvádí požadované parametry dotazu k odebrání vztahu prodejce.
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
customer-tenant-ID | Identifikátor guid | Y | Hodnota je id zákazníka-tenanta ve formátu GUID, které identifikuje zákazníka. |
Hlavičky požadavku
Další informace najdete v tématu Hlavičky REST Partnerského centra.
Text požadavku
V textu požadavku se vyžaduje prostředek zákazníka . Ujistěte se, že vlastnost RelationshipToPartner je nastavená na hodnotu none.
Příklad požadavku
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"
}
}
Odpověď REST
V případě úspěchu tato metoda odebere vztah prodejce pro zadaného zákazníka.
Úspěšné odpovědi a kódy chyb
Každá odpověď obsahuje stavový kód HTTP, který označuje úspěch nebo neúspěch, a další informace o ladění. Ke čtení tohoto kódu, typu chyby a dalších parametrů použijte nástroj pro trasování sítě. Úplný seznam najdete v tématu Kódy chyb rozhraní REST v Partnerském centru.
Příklad odpovědi
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"
}
}