POST | /upgrade-lead |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports NAV.ServiceModel
Namespace Global
Namespace NAV.ServiceModel
Public Partial Class LeadUpgrade
Implements IPost
Public Overridable Property BeeNumber As Decimal
Public Overridable Property EmailAddress As String
Public Overridable Property MentorBeeNumber As Nullable(Of Decimal)
Public Overridable Property Language As String
Public Overridable Property BirthDate As Nullable(Of Date)
Public Overridable Property PrimaryPhone As NAVPhoneUpdate
Public Overridable Property AdditionalPhone As NAVPhoneUpdate
Public Overridable Property BillingAddress As NAVAddressUpdate
Public Overridable Property ShippingAddress As NAVAddressUpdate
Public Overridable Property GovernmentId As String
Public Overridable Property TermsAgreement As NAVTermsUpdate
Public Overridable Property ElectronicAgreement As NAVTermsUpdate
Public Overridable Property AgentId As String
Public Overridable Property KitNumber As String
Public Overridable Property KitPrice As Nullable(Of Decimal)
Public Overridable Property PaymentMethod As String
Public Overridable Property TaxAmount As Nullable(Of Decimal)
Public Overridable Property DonationAmount As Nullable(Of Decimal)
Public Overridable Property PublicityTag As String
Public Overridable Property EStoreUrl As String
Public Overridable Property ApptYYYYCC As String
Public Overridable Property ApptHHMMSS As String
Public Overridable Property ApptYYYYMMDD As String
Public Overridable Property PrivacyPolicyAgreement As NAVTermsUpdate
Public Overridable Property WebsiteTermsOfUseAgreement As NAVTermsUpdate
Public Overridable Property AgeVerificationAgreement As NAVTermsUpdate
Public Overridable Property CASLStatementAgreement As NAVCASLTermsUpdate
End Class
Public Partial Class LeadUpgradeResponse
Public Overridable Property ResponseStatus As ResponseStatus
End Class
Public Partial Class NAVAddressUpdate
Public Overridable Property FirstName As String
Public Overridable Property LastName As String
Public Overridable Property AddressLine1 As String
Public Overridable Property AddressLine2 As String
Public Overridable Property AddressLine3 As String
Public Overridable Property AddressLine4 As String
Public Overridable Property AddressLine5 As String
Public Overridable Property City As String
Public Overridable Property StateCode As String
Public Overridable Property PostalCode As String
Public Overridable Property CountryCode As String
End Class
Public Partial Class NAVCASLTermsUpdate
Public Overridable Property Agree As String
Public Overridable Property [Date] As Date
End Class
Public Partial Class NAVPhoneUpdate
Public Overridable Property Number As String
Public Overridable Property Extension As String
Public Overridable Property CodeIdPhoneType As String
Public Overridable Property CountryCode As String
End Class
Public Partial Class NAVTermsUpdate
Public Overridable Property Version As String
Public Overridable Property [Date] As Date
End Class
End Namespace
End Namespace
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 } } }