/// <summary> /// /// <example> /// <code> /// var result = CustomerContactFactory.AddAccountContact(handler : handler, contact : contact, accountId : accountId, responseFields : responseFields, expectedCode: expectedCode, successCode: successCode); /// var optionalCasting = ConvertClass<CustomerContact/>(result); /// return optionalCasting; /// </code> /// </example> /// </summary> public static Mozu.Api.Contracts.Customer.CustomerContact AddAccountContact(ServiceClientMessageHandler handler, Mozu.Api.Contracts.Customer.CustomerContact contact, int accountId, string responseFields = null, HttpStatusCode expectedCode = HttpStatusCode.Created, HttpStatusCode successCode = HttpStatusCode.Created) { SetSdKparameters(); var currentClassName = System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.Name; var currentMethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; Debug.WriteLine(currentMethodName + '.' + currentMethodName); var apiClient = Mozu.Api.Clients.Commerce.Customer.Accounts.CustomerContactClient.AddAccountContactClient( contact: contact, accountId: accountId, responseFields: responseFields); try { apiClient.WithContext(handler.ApiContext).ExecuteAsync(default(CancellationToken)).Wait(); } catch (ApiException ex) { // Custom error handling for test cases can be placed here Exception customException = TestFailException.GetCustomTestException(ex, currentClassName, currentMethodName, expectedCode); if (customException != null) { throw customException; } return(null); } return(ResponseMessageFactory.CheckResponseCodes(apiClient.HttpResponse.StatusCode, expectedCode, successCode) ? (apiClient.Result()) : null); }
public virtual Mozu.Api.Contracts.Customer.CustomerContact AddAccountContact(Mozu.Api.Contracts.Customer.CustomerContact contact, int accountId, string responseFields = null) { MozuClient <Mozu.Api.Contracts.Customer.CustomerContact> response; var client = Mozu.Api.Clients.Commerce.Customer.Accounts.CustomerContactClient.AddAccountContactClient(contact, accountId, responseFields); client.WithContext(_apiContext); response = client.Execute(); return(response.Result()); }
/// <summary> /// /// </summary> /// <param name="accountId">Unique identifier of the customer account.</param> /// <param name="contactId">Unique identifer of the customer account contact being updated.</param> /// <param name="responseFields">Filtering syntax appended to an API call to increase or decrease the amount of data returned inside a JSON object. This parameter should only be used to retrieve data. Attempting to update data using this parameter may cause data loss.</param> /// <param name="userId">Unique identifier of the user whose tenant scopes you want to retrieve.</param> /// <param name="contact">Contact information, including the contact's name, address, phone numbers, email addresses, and company (if supplied). Also indicates whether this is a billing, shipping, or billing and shipping contact.</param> /// <returns> /// <see cref="Mozu.Api.Contracts.Customer.CustomerContact"/> /// </returns> /// <example> /// <code> /// var customercontact = new CustomerContact(); /// var customerContact = await customercontact.UpdateAccountContactAsync( contact, accountId, contactId, userId, responseFields); /// </code> /// </example> public virtual async Task <Mozu.Api.Contracts.Customer.CustomerContact> UpdateAccountContactAsync(Mozu.Api.Contracts.Customer.CustomerContact contact, int accountId, int contactId, string userId = null, string responseFields = null, CancellationToken ct = default(CancellationToken)) { MozuClient <Mozu.Api.Contracts.Customer.CustomerContact> response; var client = Mozu.Api.Clients.Commerce.Customer.Accounts.CustomerContactClient.UpdateAccountContactClient(contact, accountId, contactId, userId, responseFields); client.WithContext(_apiContext); response = await client.ExecuteAsync(ct).ConfigureAwait(false); return(await response.ResultAsync()); }
/// <summary> /// /// </summary> /// <param name="accountId">Unique identifier of the customer account.</param> /// <param name="responseFields">Filtering syntax appended to an API call to increase or decrease the amount of data returned inside a JSON object. This parameter should only be used to retrieve data. Attempting to update data using this parameter may cause data loss.</param> /// <param name="contact">Contact information, including the contact's name, address, phone numbers, email addresses, and company (if supplied). Also indicates whether this is a billing, shipping, or billing and shipping contact.</param> /// <returns> /// <see cref="Mozu.Api.MozuClient" />{<see cref="Mozu.Api.Contracts.Customer.CustomerContact"/>} /// </returns> /// <example> /// <code> /// var mozuClient=AddAccountContact( contact, accountId, responseFields); /// var customerContactClient = mozuClient.WithBaseAddress(url).Execute().Result(); /// </code> /// </example> public static MozuClient <Mozu.Api.Contracts.Customer.CustomerContact> AddAccountContactClient(Mozu.Api.Contracts.Customer.CustomerContact contact, int accountId, string responseFields = null) { var url = Mozu.Api.Urls.Commerce.Customer.Accounts.CustomerContactUrl.AddAccountContactUrl(accountId, responseFields); const string verb = "POST"; var mozuClient = new MozuClient <Mozu.Api.Contracts.Customer.CustomerContact>() .WithVerb(verb).WithResourceUrl(url) .WithBody <Mozu.Api.Contracts.Customer.CustomerContact>(contact); return(mozuClient); }
public void Exercise_13_2_Add_New_Customer() { //Create a Customer Account resource var customerAccountResource = new Mozu.Api.Resources.Commerce.Customer.CustomerAccountResource(_apiContext); var existingAcct = customerAccountResource.GetAccountsAsync(filter: "EmailAddress eq '*****@*****.**'").Result; if (existingAcct == null || existingAcct.TotalCount == 0) { //Create a new Account Info and Authorization Info contract var customerAccountAndAuthInfo = new Mozu.Api.Contracts.Customer.CustomerAccountAndAuthInfo() { Account = new Mozu.Api.Contracts.Customer.CustomerAccount() { AcceptsMarketing = false, CompanyOrOrganization = "Serenity Corp.", EmailAddress = "*****@*****.**", ExternalId = "A0001", FirstName = "Malcolm", LastName = "Reynolds", IsActive = true, IsAnonymous = false, LocaleCode = "en-US", TaxExempt = false, IsLocked = false, UserName = "******", }, Password = "******", IsImport = true }; var newAccount = customerAccountResource.AddAccountAndLoginAsync(customerAccountAndAuthInfo).Result; var contactMal = new Mozu.Api.Contracts.Customer.CustomerContact() { Email = "*****@*****.**", FirstName = "Malcolm", LastNameOrSurname = "Reynolds", Label = "Capt.", PhoneNumbers = new Mozu.Api.Contracts.Core.Phone() { Mobile = "555-555-0001" }, Address = new Mozu.Api.Contracts.Core.Address() { Address1 = "03-K64 Firefly Transport", AddressType = "Residential", CityOrTown = "Austin", CountryCode = "US", PostalOrZipCode = "78759", StateOrProvince = "TX" }, Types = new System.Collections.Generic.List<Mozu.Api.Contracts.Customer.ContactType>() { new Mozu.Api.Contracts.Customer.ContactType() { IsPrimary = true, Name = "Billing" } } }; var contactInara = new Mozu.Api.Contracts.Customer.CustomerContact() { Email = "*****@*****.**", FirstName = "Inara", LastNameOrSurname = "Serra", Label = "Ms.", PhoneNumbers = new Mozu.Api.Contracts.Core.Phone() { Mobile = "555-555-0002" }, Address = new Mozu.Api.Contracts.Core.Address() { Address1 = "03-K64 Firefly Transport -- Shuttle", AddressType = "Residential", CityOrTown = "Austin", CountryCode = "US", PostalOrZipCode = "78759", StateOrProvince = "TX" }, Types = new System.Collections.Generic.List<Mozu.Api.Contracts.Customer.ContactType>() { new Mozu.Api.Contracts.Customer.ContactType() { IsPrimary = false, Name = "Billing" } } }; //Create a Customer Contact resource var contactResource = new Mozu.Api.Resources.Commerce.Customer.Accounts.CustomerContactResource(_apiContext); //Add new contact var newContactMal = contactResource.AddAccountContactAsync(contactMal, newAccount.CustomerAccount.Id).Result; //Add additional contact var newContactInara = contactResource.AddAccountContactAsync(contactInara, newAccount.CustomerAccount.Id).Result; } //Create a Customer Credit resource var creditResource = new Mozu.Api.Resources.Commerce.Customer.CreditResource(_apiContext); //Create a Credit object var credit = new Mozu.Api.Contracts.Customer.Credit.Credit() { ActivationDate = DateTime.Now, Code = Guid.NewGuid().ToString("N"), CreditType = "GiftCard", CurrencyCode = "USD", CurrentBalance = 1000, CustomerId = 1002, InitialBalance = 1000 }; //Add credit var newCredit = creditResource.AddCreditAsync(credit).Result; }
/// <summary> /// Updates a contact for a specified customer account such as to update addresses or change which contact is the primary contact for billing. /// </summary> /// <param name="accountId">Unique identifier of the customer account.</param> /// <param name="contactId">Unique identifer of the customer account contact being updated.</param> /// <param name="responseFields">Use this field to include those fields which are not included by default.</param> /// <param name="contact">Contact information, including the contact's name, address, phone numbers, email addresses, and company (if supplied). Also indicates whether this is a billing, shipping, or billing and shipping contact.</param> /// <returns> /// <see cref="Mozu.Api.Contracts.Customer.CustomerContact"/> /// </returns> /// <example> /// <code> /// var customercontact = new CustomerContact(); /// var customerContact = await customercontact.UpdateAccountContactAsync( contact, accountId, contactId, responseFields); /// </code> /// </example> public virtual async Task <Mozu.Api.Contracts.Customer.CustomerContact> UpdateAccountContactAsync(Mozu.Api.Contracts.Customer.CustomerContact contact, int accountId, int contactId, string responseFields = null) { MozuClient <Mozu.Api.Contracts.Customer.CustomerContact> response; var client = Mozu.Api.Clients.Commerce.Customer.Accounts.CustomerContactClient.UpdateAccountContactClient(contact, accountId, contactId, responseFields); client.WithContext(_apiContext); response = await client.ExecuteAsync(); return(await response.ResultAsync()); }
public void Exercise_13_2_Add_New_Customer() { //Create a Customer Account resource var customerAccountResource = new Mozu.Api.Resources.Commerce.Customer.CustomerAccountResource(_apiContext); var existingAcct = customerAccountResource.GetAccountsAsync(filter: "EmailAddress eq '*****@*****.**'").Result; if (existingAcct == null || existingAcct.TotalCount == 0) { //Create a new Account Info and Authorization Info contract var customerAccountAndAuthInfo = new Mozu.Api.Contracts.Customer.CustomerAccountAndAuthInfo() { Account = new Mozu.Api.Contracts.Customer.CustomerAccount() { AcceptsMarketing = false, CompanyOrOrganization = "Serenity Corp.", EmailAddress = "*****@*****.**", ExternalId = "A0001", FirstName = "Malcolm", LastName = "Reynolds", IsActive = true, IsAnonymous = false, LocaleCode = "en-US", TaxExempt = false, IsLocked = false, UserName = "******", }, Password = "******", IsImport = true }; var newAccount = customerAccountResource.AddAccountAndLoginAsync(customerAccountAndAuthInfo).Result; var contactMal = new Mozu.Api.Contracts.Customer.CustomerContact() { Email = "*****@*****.**", FirstName = "Malcolm", LastNameOrSurname = "Reynolds", Label = "Capt.", PhoneNumbers = new Mozu.Api.Contracts.Core.Phone() { Mobile = "555-555-0001" }, Address = new Mozu.Api.Contracts.Core.Address() { Address1 = "03-K64 Firefly Transport", AddressType = "Residential", CityOrTown = "Austin", CountryCode = "US", PostalOrZipCode = "78759", StateOrProvince = "TX" }, Types = new System.Collections.Generic.List <Mozu.Api.Contracts.Customer.ContactType>() { new Mozu.Api.Contracts.Customer.ContactType() { IsPrimary = true, Name = "Billing" } } }; var contactInara = new Mozu.Api.Contracts.Customer.CustomerContact() { Email = "*****@*****.**", FirstName = "Inara", LastNameOrSurname = "Serra", Label = "Ms.", PhoneNumbers = new Mozu.Api.Contracts.Core.Phone() { Mobile = "555-555-0002" }, Address = new Mozu.Api.Contracts.Core.Address() { Address1 = "03-K64 Firefly Transport -- Shuttle", AddressType = "Residential", CityOrTown = "Austin", CountryCode = "US", PostalOrZipCode = "78759", StateOrProvince = "TX" }, Types = new System.Collections.Generic.List <Mozu.Api.Contracts.Customer.ContactType>() { new Mozu.Api.Contracts.Customer.ContactType() { IsPrimary = false, Name = "Billing" } } }; //Create a Customer Contact resource var contactResource = new Mozu.Api.Resources.Commerce.Customer.Accounts.CustomerContactResource(_apiContext); //Add new contact var newContactMal = contactResource.AddAccountContactAsync(contactMal, newAccount.CustomerAccount.Id).Result; //Add additional contact var newContactInara = contactResource.AddAccountContactAsync(contactInara, newAccount.CustomerAccount.Id).Result; } //Create a Customer Credit resource var creditResource = new Mozu.Api.Resources.Commerce.Customer.CreditResource(_apiContext); //Create a Credit object var credit = new Mozu.Api.Contracts.Customer.Credit.Credit() { ActivationDate = DateTime.Now, Code = Guid.NewGuid().ToString("N"), CreditType = "GiftCard", CurrencyCode = "USD", CurrentBalance = 1000, CustomerId = 1002, InitialBalance = 1000 }; //Add credit var newCredit = creditResource.AddCreditAsync(credit).Result; }