Créer un client pour un revendeur indirect à l’aide des API de l’Espace partenaires
S’applique à : Espace partenaires
Un fournisseur indirect peut créer un client pour un revendeur indirect.
Prérequis
Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification de l’application et de l’utilisateur uniquement.
Identificateur du locataire du revendeur indirect.
Le revendeur indirect doit avoir un partenariat avec le fournisseur indirect.
C#
Pour ajouter un nouveau client pour un revendeur indirect :
Instanciez un nouvel objet Customer, puis instanciez et remplissez les fichiers BillingProfile et CompanyProfile. Veillez à affecter l’ID de revendeur indirect à la propriété AssociatedPartnerID.
Utilisez la propriété IAggregatePartner.Customers pour obtenir une interface pour les opérations de collecte de clients.
Appelez la méthode Create ou CreateAsync pour créer le client.
Exemple en code C#
// IAggregatePartner partnerOperations;
// var indirectResellerId;
var customerToCreate = new Customer()
{
CompanyProfile = new CustomerCompanyProfile()
{
Domain = string.Format(CultureInfo.InvariantCulture,
"WingtipToys{0}.{1}",
new Random().Next(),
this.Context.Configuration.Scenario.CustomerDomainSuffix)
},
BillingProfile = new CustomerBillingProfile()
{
Culture = "EN-US",
Email = "Gena@wingtiptoys.com",
Language = "En",
CompanyName = "Wingtip Toys",
DefaultAddress = new Address()
{
FirstName = "Gena",
LastName = "Soto",
AddressLine1 = "One Microsoft Way",
City = "Redmond",
State = "WA",
Country = "US",
PostalCode = "98052",
PhoneNumber = "4255550101"
}
},
AssociatedPartnerId = indirectResellerId
};
var newCustomer = partnerOperations.Customers.Create(customerToCreate);
Exemple : Application de test de console. Projet : Classe d’exemples sdk de l’Espace partenaires : CreateCustomerforIndirectReseller.cs
Demande REST
Syntaxe de la requête
Méthode | URI de demande |
---|---|
POST | {baseURL}/v1/customers 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 | Requise | Description |
---|---|---|---|
BillingProfile | object | Oui | Les informations du profil de facturation du client. |
CompanyProfile | object | Oui | Les informations du profil de l’entreprise du client. |
AssociatedPartnerId | string | Oui | ID de revendeur indirect. Le revendeur indirect tel qu’indiqué par l’ID fourni ici doit avoir un partenariat avec le fournisseur indirect ou la demande échouera. Notez également que si la valeur AssociatedPartnerId n’est pas fournie, le client est créé en tant que client direct du fournisseur indirect plutôt que du revendeur indirect. |
Domain | Chaîne | Oui | Le nom de domaine du client, tel que contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Oui | Numéro d’inscription de l’organisation du client (également appelé numéro INN dans certains pays/régions). Obligatoire uniquement pour l’entreprise/l’organisation du client située dans les pays/régions suivants : Arménie(AM), Azerbaïdjan(AZ), Belarus(BY), Hongrie(HU), Kazakhstan(KZ), Kirghizistan(KG), Moldova(MD), Russie(RU), Tadjikistan(TJ), Ouzbékistan(UZ), Ukraine(UA), Inde, Brésil, Afrique du Sud, Pologne, Émirats arabes unis, Arabie saoudite, Türkiye, Thaïlande, Vietnam, Myanmar, Iraq, Soudan du Sud et Venezuela. Pour l’entreprise/l’organisation du client située dans d’autres pays/régions, il s’agit d’un champ facultatif. |
Profil de facturation
Ce tableau décrit les champs minimum requis de la ressource CustomerBillingProfile nécessaire pour créer un client.
Nom | Type | Requise | Description |
---|---|---|---|
chaîne | Oui | L’adresse électronique du client. | |
culture | string | Oui | Leur culture préférée pour la communication et la devise, comme en-US . Consultez les langues et paramètres régionaux pris en charge dans l’Espace partenaires pour les cultures prises en charge. |
langue | string | Oui | Langue par défaut. Deux codes de langue de caractères (par exemple en ou fr ) sont pris en charge. |
company_name | string | Oui | Nom de l’entreprise/de l’organisation inscrite. |
default_address | Adresse | Oui | Adresse inscrite de l’entreprise/de l’organisation du client. Pour plus d’informations sur les limitations de longueur, consultez la ressource Address . |
Profil de la société
Ce tableau décrit les champs minimum requis de la ressource CustomerCompanyProfile nécessaire pour créer un client.
Nom | Type | Requise | Description |
---|---|---|---|
domaine | string | Oui | Le nom de domaine du client, tel que contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Dépend de la condition | Numéro d’inscription de l’organisation du client (également appelé numéro INN dans certains pays/régions). L’achèvement de ce champ n’est nécessaire que si l’entreprise/l’organisation d’un client se trouve dans les pays/régions suivants : - Arménie (AM) - Azerbaïdjan (AZ) - Belarus (BY) - Hongrie (HU) - Kazakhstan (KZ) - Kirghizistan (KG) - Moldova (MD) - Russie (RU) - Tadjikistan (TJ) - Ouzbékistan (UZ) - Ukraine (UA) -Inde -Brésil -Afrique du Sud -Pologne - Émirats arabes unis -Arabie Saoudite -Türkiye -Thaïlande -Vietnam -Myanmar -Irak - Soudan du Sud -Venezuela - Chine Pour l’entreprise/l’organisation du client située dans d’autres pays/régions, il s’agit d’un champ facultatif. |
GDAP par défaut
Nom | Type | Description |
---|---|---|
enableGDAPByDefault | bool | Boolean pour indiquer si nous voulons activer GDAP par défaut ou non. Si la valeur est true, nous allons créer GDAP par défaut. Si la valeur est false, nous ne créons pas LE GDAP. Notez que cela n’est honoré que dans les clouds qui prennent en charge GDAP. Si aucune prise en charge n’est prise en charge, DAP est créé par défaut. |
Exemple de requête
POST https://api.partnercenter.microsoft.com/v1/customers HTTP/1.1
Authorization: Bearer <token>
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 823
Expect: 100-continue
Connection: Keep-Alive
{
"enableGDAPByDefault": false,
"Id": null,
"CommerceId": null,
"CompanyProfile": {
"TenantId": null,
"Domain": "WingtipToys678152504.onmicrosoft.com",
"CompanyName": null,
"Attributes": {
"ObjectType": "CustomerCompanyProfile"
}
},
"BillingProfile": {
"Id": null,
"FirstName": null,
"LastName": null,
"Email": "Gena@wingtiptoys.com",
"Culture": "EN-US",
"Language": "En",
"CompanyName": "Wingtip Toys",
"DefaultAddress": {
"Country": "US",
"Region": null,
"City": "Redmond",
"State": "WA",
"AddressLine1": "One Microsoft Way",
"AddressLine2": null,
"PostalCode": "98052",
"FirstName": "Gena",
"LastName": "Soto",
"PhoneNumber": "4255550101"
},
"Attributes": {
"ObjectType": "CustomerBillingProfile"
}
},
"RelationshipToPartner": "none",
"AllowDelegatedAccess": null,
"UserCredentials": null,
"CustomDomains": null,
"AssociatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
"Attributes": {
"ObjectType": "Customer"
}
}
Important
Depuis juin 2023, la dernière version du Kit de développement logiciel (SDK) .NET de l’Espace partenaires version 3.4.0 est désormais archivée. Vous pouvez télécharger la version du SDK à partir de GitHub, ainsi qu’un fichier lisezmoi contenant des informations utiles.
Les partenaires sont encouragés à continuer à utiliser les API REST de l’Espace partenaires.
Réponse REST
Si elle réussit, la réponse contient une ressource client pour le nouveau client.
Codes d’erreur et de réussite de la réponse
Les réponses sont fournies avec un code d’état HTTP qui indique la réussite ou l’échec et des informations de débogage supplémentaires. Utilisez un outil de trace réseau pour lire ce code, le type d’erreur et des paramètres supplémentaires. Pour obtenir la liste complète, consultez Codes d’erreur REST de l’Espace partenaires.
Exemple de réponse
HTTP/1.1 201 Created
Content-Length: 1085
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CV: Yy/YaA0gYEmfQyR/.0
MS-ServerId: 030020525
Date: Tue, 06 Jun 2017 23:11:40 GMT
{
"enableGDAPByDefault": false,
"id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"commerceId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"companyProfile": {
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"domain": "WingtipToys678152504.onmicrosoft.com",
"companyName": "Wingtip Toys",
"links": {
"self": {
"uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee/profiles/company",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "CustomerCompanyProfile"
}
},
"billingProfile": {
"id": "7079246e-7b62-56ef-7cbd-a819514b54b5",
"email": "Gena@wingtiptoys.com",
"culture": "en-US",
"language": "En",
"companyName": "Wingtip Toys",
"defaultAddress": {
"country": "US",
"city": "Redmond",
"state": "WA",
"addressLine1": "One Microsoft Way",
"postalCode": "98052",
"firstName": "Gena",
"lastName": "Soto",
"phoneNumber": "4255550101"
},
"attributes": {
"etag": "-8799889149591823008",
"objectType": "CustomerBillingProfile"
}
},
"relationshipToPartner": "reseller",
"allowDelegatedAccess": true,
"userCredentials": {
"userName": "admin",
"password": "0Krha*Io"
},
"associatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
"attributes": {
"objectType": "Customer"
}
}