| 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> = ArrayList<String>()
open var CustomerLabels:ArrayList<CustomerLabel> = ArrayList<CustomerLabel>()
open var MessageThreads:ArrayList<String> = ArrayList<String>()
open var Notes:ArrayList<String> = ArrayList<String>()
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
}