| POST | /invoices/misc |
|---|
import Foundation
import ServiceStack
public class InvoiceCollection : Codable
{
public var invoiceList:[Invoice] = []
required public init(){}
}
public class Invoice : IInvoiceValidation, Codable
{
public var uniqueId:String?
public var clientId:Int?
public var groupId:String?
public var Description:String?
public var opportunityId:String?
public var installments:Int?
public var frequency:Int?
public var invoiceDueDate:Date?
public var deliver:Bool?
public var userId:String?
public var bhUserId:Int?
public var currencyType:String?
public var invoiceItems:[InvoiceItem] = []
public var invoiceNo:Int?
public var invoiceAmt:Double?
public var externalInvBatchNo:String?
public var exemptFromLateFee:Bool?
required public init(){}
}
public class InvoiceItem : IInvoiceItemValidation, Codable
{
public var uniqueId:String?
public var productName:String?
public var amountDue:Double?
public var productType:String?
public var actPatternTypeID:Int?
public var termStartDate:Date?
public var termEndDate:Date?
public var recognitionPeriod:Int?
public var revenueAccount:String?
public var accountsReceivableAccount:String?
public var liabilityAccount:String?
public var creditExpenseAccount:String?
public var invoiceClearingAccount:String?
public var costCenter:String?
public var region:String?
required public init(){}
}
public class InvoiceCollectionReply : IHaveErrorField, Codable
{
public var invoiceReply:[InvoiceReply] = []
public var isError:Bool?
required public init(){}
}
public class InvoiceReply : Codable
{
public var uniqueId:String?
public var errorCode:Int?
public var errorMessage:String?
public var invBatchNo:Int?
public var invAmount:Double?
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /invoices/misc HTTP/1.1
Host: devapi.billhighway.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<InvoiceCollection xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
<InvoiceList>
<Invoice>
<BhUserId>0</BhUserId>
<ClientId>0</ClientId>
<CurrencyType>String</CurrencyType>
<Deliver>false</Deliver>
<Description>String</Description>
<ExemptFromLateFee>false</ExemptFromLateFee>
<ExternalInvBatchNo>String</ExternalInvBatchNo>
<Frequency>0</Frequency>
<GroupId>String</GroupId>
<Installments>0</Installments>
<InvoiceAmt>0</InvoiceAmt>
<InvoiceDueDate>0001-01-01T00:00:00</InvoiceDueDate>
<InvoiceItems>
<InvoiceItem>
<AmountDue>String</AmountDue>
<ProductName>String</ProductName>
<RevenueAccount>String</RevenueAccount>
</InvoiceItem>
</InvoiceItems>
<InvoiceNo>0</InvoiceNo>
<OpportunityId>String</OpportunityId>
<UniqueId>String</UniqueId>
<UserId>String</UserId>
</Invoice>
</InvoiceList>
</InvoiceCollection>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<InvoiceCollectionReply xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
<InvoiceReply>
<InvoiceReply>
<ErrorCode>0</ErrorCode>
<ErrorMessage>String</ErrorMessage>
<InvAmount>0</InvAmount>
<InvBatchNo>0</InvBatchNo>
<UniqueId>String</UniqueId>
</InvoiceReply>
</InvoiceReply>
</InvoiceCollectionReply>