POST | /upgrade-lead |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using NAV.ServiceModel;
namespace NAV.ServiceModel
{
public partial class LeadUpgrade
: IPost
{
public virtual decimal BeeNumber { get; set; }
public virtual string EmailAddress { get; set; }
public virtual decimal? MentorBeeNumber { get; set; }
public virtual string Language { get; set; }
public virtual DateTime? BirthDate { get; set; }
public virtual NAVPhoneUpdate PrimaryPhone { get; set; }
public virtual NAVPhoneUpdate AdditionalPhone { get; set; }
public virtual NAVAddressUpdate BillingAddress { get; set; }
public virtual NAVAddressUpdate ShippingAddress { get; set; }
public virtual string GovernmentId { get; set; }
public virtual NAVTermsUpdate TermsAgreement { get; set; }
public virtual NAVTermsUpdate ElectronicAgreement { get; set; }
public virtual string AgentId { get; set; }
public virtual string KitNumber { get; set; }
public virtual decimal? KitPrice { get; set; }
public virtual string PaymentMethod { get; set; }
public virtual decimal? TaxAmount { get; set; }
public virtual decimal? DonationAmount { get; set; }
public virtual string PublicityTag { get; set; }
public virtual string EStoreUrl { get; set; }
public virtual string ApptYYYYCC { get; set; }
public virtual string ApptHHMMSS { get; set; }
public virtual string ApptYYYYMMDD { get; set; }
public virtual NAVTermsUpdate PrivacyPolicyAgreement { get; set; }
public virtual NAVTermsUpdate WebsiteTermsOfUseAgreement { get; set; }
public virtual NAVTermsUpdate AgeVerificationAgreement { get; set; }
public virtual NAVCASLTermsUpdate CASLStatementAgreement { get; set; }
}
public partial class LeadUpgradeResponse
{
public virtual ResponseStatus ResponseStatus { get; set; }
}
public partial class NAVAddressUpdate
{
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string AddressLine1 { get; set; }
public virtual string AddressLine2 { get; set; }
public virtual string AddressLine3 { get; set; }
public virtual string AddressLine4 { get; set; }
public virtual string AddressLine5 { get; set; }
public virtual string City { get; set; }
public virtual string StateCode { get; set; }
public virtual string PostalCode { get; set; }
public virtual string CountryCode { get; set; }
}
public partial class NAVCASLTermsUpdate
{
public virtual string Agree { get; set; }
public virtual DateTime Date { get; set; }
}
public partial class NAVPhoneUpdate
{
public virtual string Number { get; set; }
public virtual string Extension { get; set; }
public virtual string CodeIdPhoneType { get; set; }
public virtual string CountryCode { get; set; }
}
public partial class NAVTermsUpdate
{
public virtual string Version { get; set; }
public virtual DateTime Date { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /upgrade-lead HTTP/1.1
Host: extensions.avon.ca
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
beeNumber: 0,
emailAddress: String,
mentorBeeNumber: 0,
language: String,
birthDate: 0001-01-01T00:00:00,
primaryPhone:
{
number: String,
extension: String,
codeIdPhoneType: String,
countryCode: String
},
additionalPhone:
{
number: String,
extension: String,
codeIdPhoneType: String,
countryCode: String
},
billingAddress:
{
firstName: String,
lastName: String,
addressLine1: String,
addressLine2: String,
addressLine3: String,
addressLine4: String,
addressLine5: String,
city: String,
stateCode: String,
postalCode: String,
countryCode: String
},
shippingAddress:
{
firstName: String,
lastName: String,
addressLine1: String,
addressLine2: String,
addressLine3: String,
addressLine4: String,
addressLine5: String,
city: String,
stateCode: String,
postalCode: String,
countryCode: String
},
governmentId: String,
termsAgreement:
{
version: String,
date: 0001-01-01T00:00:00
},
electronicAgreement:
{
version: String,
date: 0001-01-01T00:00:00
},
agentId: String,
kitNumber: String,
kitPrice: 0,
paymentMethod: String,
taxAmount: 0,
donationAmount: 0,
publicityTag: String,
eStoreUrl: String,
apptYYYYCC: String,
apptHHMMSS: String,
apptYYYYMMDD: String,
privacyPolicyAgreement:
{
version: String,
date: 0001-01-01T00:00:00
},
websiteTermsOfUseAgreement:
{
version: String,
date: 0001-01-01T00:00:00
},
ageVerificationAgreement:
{
version: String,
date: 0001-01-01T00:00:00
},
caslStatementAgreement:
{
agree: String,
date: 0001-01-01T00:00:00
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }