BokaMera.API.Host

<back to all web services

UpdateEaccountingCustomer

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/eaccounting/customersUpdate 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

HTTP + 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
}