BokaMera.API.Host

<back to all web services

UpdateVossInvoiceConfigurations

Requires Authentication
Requires the role:superadmin
The following routes are available for this service:
GET/voss/invoiceConfigurationsinit voss invoice
import Foundation
import ServiceStack

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
public class UpdateVossInvoiceConfigurations : UpdateInvoiceConfigurationsRequest
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

// @DataContract(Name="UpdateInvoiceConfigurationsRequest")
public class UpdateInvoiceConfigurationsRequest : Codable
{
    // @DataMember(Name="intermediaryPlacement", IsRequired=true)
    public var intermediaryPlacement:IntermediaryPlacementEnum

    // @DataMember(Name="accrualCodeFormat", IsRequired=true)
    public var accrualCodeFormat:AccrualCodeFormatEnum

    // @DataMember(Name="dateFormat", IsRequired=true)
    public var dateFormat:String

    // @DataMember(Name="delimiter", IsRequired=true)
    public var delimiter:String

    // @DataMember(Name="decimalSeparator", IsRequired=true)
    public var decimalSeparator:String

    // @DataMember(Name="orderCreatorCode", IsRequired=true)
    public var orderCreatorCode:String

    // @DataMember(Name="salesPersonId", IsRequired=true)
    public var salesPersonId:String

    // @DataMember(Name="salesDepartmentId", IsRequired=true)
    public var salesDepartmentId:String

    // @DataMember(Name="includeBillingPeriodDates")
    public var includeBillingPeriodDates:Bool

    // @DataMember(Name="trackInvoicePayments")
    public var trackInvoicePayments:Bool

    // @DataMember(Name="includeInvoicedCustomerDetails")
    public var includeInvoicedCustomerDetails:Bool

    // @DataMember(Name="billingPeriodTextFormat", IsRequired=true)
    public var billingPeriodTextFormat:String

    // @DataMember(Name="customerFooterText")
    public var customerFooterText:String

    // @DataMember(Name="addEmptyLineBeforeCustomerFooter")
    public var addEmptyLineBeforeCustomerFooter:Bool

    // @DataMember(Name="includeOnlyDefaultSalesPersonAndDepartment")
    public var includeOnlyDefaultSalesPersonAndDepartment:Bool

    // @DataMember(Name="includeSubscriptionCustomerDetailsIfPayedByAnotherCustomer")
    public var includeSubscriptionCustomerDetailsIfPayedByAnotherCustomer:Bool

    // @DataMember(Name="transactionGroup", IsRequired=true)
    public var transactionGroup:String

    // @DataMember(Name="invoiceArbitraryNumber", IsRequired=true)
    public var invoiceArbitraryNumber:String

    // @DataMember(Name="deliveryMethod", IsRequired=true)
    public var deliveryMethod:String

    // @DataMember(Name="deliveryConditions", IsRequired=true)
    public var deliveryConditions:String

    // @DataMember(Name="orderType", IsRequired=true)
    public var orderType:String

    // @DataMember(Name="invoiceStatus", IsRequired=true)
    public var invoiceStatus:String

    // @DataMember(Name="useProductGroupRevenueRecognition")
    public var useProductGroupRevenueRecognition:Bool

    // @DataMember(Name="productGroupLineExcludePrint", IsRequired=true)
    public var productGroupLineExcludePrint:String

    // @DataMember(Name="productGroupLineEditPreferences", IsRequired=true)
    public var productGroupLineEditPreferences:String

    // @DataMember(Name="productLineExcludePrint", IsRequired=true)
    public var productLineExcludePrint:String

    // @DataMember(Name="useDiscountedPrices")
    public var useDiscountedPrices:Bool

    // @DataMember(Name="terminateUnpaidSubscriptions")
    public var terminateUnpaidSubscriptions:Bool

    // @DataMember(Name="allowedUnpaidAmountLimit", EmitDefaultValue=false)
    public var allowedUnpaidAmountLimit:Double

    // @DataMember(Name="allowedPaymentOverdue")
    public var allowedPaymentOverdue:TimeLengthRequestDto

    // @DataMember(Name="unpaidSubscriptionTerminationReasonId")
    public var unpaidSubscriptionTerminationReasonId:String?

    // @DataMember(Name="unpaidSubscriptionTerminationComment")
    public var unpaidSubscriptionTerminationComment:String

    // @DataMember(Name="creditInvoiceNumberReferenceTextFormat")
    public var creditInvoiceNumberReferenceTextFormat:String

    required public init(){}
}

public enum IntermediaryPlacementEnum : Int, Codable
{
    case None = 1
    case IncludeIn21StColumn = 2
    case IncludeIn7ThColumn = 3
}

public enum AccrualCodeFormatEnum : Int, Codable
{
    case Default = 1
    case Dutch = 2
}

// @DataContract(Name="TimeLengthRequestDto")
public class TimeLengthRequestDto : Codable
{
    // @DataMember(Name="unit", IsRequired=true)
    public var unit:UnitEnum

    // @DataMember(Name="value", IsRequired=true)
    public var value:Int

    required public init(){}
}

public enum UnitEnum : Int, Codable
{
    case Day = 1
    case Month = 2
    case Year = 3
}


Swift UpdateVossInvoiceConfigurations DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /voss/invoiceConfigurations HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{}