Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
PUT | /eaccounting/customers | Update E-Accounting Customer |
---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
open class UpdateEaccountingCustomer : ICompany
{
/**
* Customer Id in e-accounting.
*/
@ApiMember(Description="Customer Id in e-accounting.", IsRequired=true)
open var Id:String? = null
/**
*
*/
@ApiMember(Description="")
open var InvoiceCity:String? = null
/**
* Max length: 10 characters
*/
@ApiMember(Description="Max length: 10 characters")
open var InvoicePostalCode:String? = null
/**
* Max length: 50 characters
*/
@ApiMember(Description="Max length: 50 characters")
open var Name:String? = null
/**
*
*/
@ApiMember(Description="")
open var TermsOfPaymentId:String? = null
/**
*
*/
@ApiMember(Description="")
open var IsPrivatePerson:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open var IsActive:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open var Telephone:String? = null
/**
*
*/
@ApiMember(Description="")
open var EmailAddress:String? = null
/**
*
*/
@ApiMember(Description="")
open var MobilePhone:String? = null
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
@ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
override var CompanyId:UUID? = null
}
open class EAccountingCustomerResponse : CreateEAccountingCustomer()
{
open var Id:String? = null
}
open class CreateEAccountingCustomer : EAccountingInvoiceAddress()
{
open var CustomerNumber:String? = null
open var ContactPersonEmail:String? = null
open var ContactPersonMobile:String? = null
open var ContactPersonName:String? = null
open var ContactPersonPhone:String? = null
open var CurrencyCode:String? = null
open var GLN:String? = null
open var EmailAddress:String? = null
open var EmailAddressOrder:String? = null
open var EmailAddressQuote:String? = null
open var DeliveryCustomerName:String? = null
open var DeliveryAddress1:String? = null
open var DeliveryAddress2:String? = null
open var DeliveryCity:String? = null
open var DeliveryCountryCode:String? = null
open var DeliveryPostalCode:String? = null
open var DeliveryMethodId:String? = null
open var DeliveryTermId:String? = null
open var PayToAccountId:String? = null
open var Name:String? = null
open var Note:String? = null
open var ReverseChargeOnConstructionServices:Boolean? = null
open var WebshopCustomerNumber:Int? = null
open var MobilePhone:String? = null
open var Telephone:String? = null
open var TermsOfPaymentId:String? = null
open var EAccountingTermsOfPayment:EAccountingTermsOfPayment? = null
open var VatNumber:String? = null
open var WwwAddress:String? = null
open var LastInvoiceDate:String? = null
open var IsPrivatePerson:Boolean? = null
open var IsNorthernIreland:Boolean? = null
open var DiscountPercentage:BigDecimal? = null
open var ChangedUtc:Date? = null
open var IsActive:Boolean? = null
open var ForceBookkeepVat:Boolean? = null
open var EdiGlnNumber:String? = null
open var SalesDocumentLanguage:String? = null
open var ElectronicAddress:String? = null
open var ElectronicReference:String? = null
open var EdiServiceDelivererId:String? = null
open var AutoInvoiceActivationEmailSentDate:Date? = null
open var AutoInvoiceRegistrationRequestSentDate:Date? = null
open var EmailAddresses:ArrayList<String>? = null
open var CustomerLabels:ArrayList<CustomerLabel>? = null
open var MessageThreads:ArrayList<String>? = null
open var Notes:ArrayList<String>? = null
open var IsFutureInvoiceDateAllowed:Boolean? = null
open var DeliveryBasedVat:Boolean? = null
open var SalesPriceListId:String? = null
open var Iban:String? = null
open var DirectDebitCustomerSettings:DirectDebitCustomerSettings? = null
open var DiscountAgreementId:String? = null
open var UnpaidInvoicesAmount:BigDecimal? = null
}
open class EAccountingInvoiceAddress
{
open var CorporateIdentityNumber:String? = null
open var InvoiceAddress1:String? = null
open var InvoiceAddress2:String? = null
open var InvoiceCity:String? = null
open var InvoicePostalCode:String? = null
open var InvoiceCountryCode:String? = null
}
open class EAccountingTermsOfPayment
{
open var Id:String? = null
open var Name:String? = null
open var NameEnglish:String? = null
open var NumberOfDays:Int? = null
open var TermsOfPaymentTypeId:Int? = null
open var TermsOfPaymentTypeText:String? = null
open var AvailableForSales:Boolean? = null
open var AvailableForPurchase:Boolean? = null
}
open class CustomerLabel
{
open var Id:String? = null
open var Name:String? = null
open var Description:String? = null
}
open class DirectDebitCustomerSettings
{
open var MandateId:String? = null
open var MandateType:Int? = null
open var SequenceType:Int? = null
open var SigningDate:Date? = null
open var EndDate:Date? = null
open var LatestDirectDebit:Date? = null
}
Kotlin UpdateEaccountingCustomer DTOs
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.
PUT /eaccounting/customers HTTP/1.1
Host: api.bookmore.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Id: String,
InvoiceCity: String,
InvoicePostalCode: String,
Name: String,
TermsOfPaymentId: String,
IsPrivatePerson: False,
IsActive: False,
Telephone: String,
EmailAddress: String,
MobilePhone: String,
CompanyId: 00000000-0000-0000-0000-000000000000
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Id: String, CustomerNumber: String, ContactPersonEmail: String, ContactPersonMobile: String, ContactPersonName: String, ContactPersonPhone: String, CurrencyCode: String, GLN: String, EmailAddress: String, EmailAddressOrder: String, EmailAddressQuote: String, DeliveryCustomerName: String, DeliveryAddress1: String, DeliveryAddress2: String, DeliveryCity: String, DeliveryCountryCode: String, DeliveryPostalCode: String, DeliveryMethodId: String, DeliveryTermId: String, PayToAccountId: String, Name: String, Note: String, ReverseChargeOnConstructionServices: False, WebshopCustomerNumber: 0, MobilePhone: String, Telephone: String, TermsOfPaymentId: String, EAccountingTermsOfPayment: { Id: String, Name: String, NameEnglish: String, NumberOfDays: 0, TermsOfPaymentTypeId: 0, TermsOfPaymentTypeText: String, AvailableForSales: False, AvailableForPurchase: False }, VatNumber: String, WwwAddress: String, LastInvoiceDate: String, IsPrivatePerson: False, IsNorthernIreland: False, DiscountPercentage: 0, ChangedUtc: "0001-01-01T00:00:00", IsActive: False, ForceBookkeepVat: False, EdiGlnNumber: String, SalesDocumentLanguage: String, ElectronicAddress: String, ElectronicReference: String, EdiServiceDelivererId: String, AutoInvoiceActivationEmailSentDate: "0001-01-01T00:00:00", AutoInvoiceRegistrationRequestSentDate: "0001-01-01T00:00:00", EmailAddresses: [ String ], CustomerLabels: [ { Id: String, Name: String, Description: String } ], MessageThreads: [ String ], Notes: [ String ], IsFutureInvoiceDateAllowed: False, DeliveryBasedVat: False, SalesPriceListId: String, Iban: String, DirectDebitCustomerSettings: { MandateId: String, MandateType: 0, SequenceType: 0 }, DiscountAgreementId: String, UnpaidInvoicesAmount: 0, CorporateIdentityNumber: String, InvoiceAddress1: String, InvoiceAddress2: String, InvoiceCity: String, InvoicePostalCode: String, InvoiceCountryCode: String }