| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/invoice |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports CRM.AgencyPlatform.API.Internal
Namespace Global
Namespace CRM.AgencyPlatform.API.Internal
Public Partial Class InsertInvoiceRequest
Public Overridable Property Invoice As Invoice
Public Overridable Property LineItems As List(Of InvoiceLineItem) = New List(Of InvoiceLineItem)
End Class
Public Partial Class InsertInvoiceResponse
Public Overridable Property ResponseStatus As ResponseStatus
Public Overridable Property NewInvoiceIdentification As InvoiceIdentification
End Class
Public Partial Class Invoice
Public Overridable Property InvoiceID As Integer
Public Overridable Property InvoiceUID As Guid?
Public Overridable Property ProjectUID As Guid?
Public Overridable Property InvoiceNumber As String
Public Overridable Property InvoiceDate As Date?
Public Overridable Property DueDate As Date?
Public Overridable Property FromName As String
Public Overridable Property FromPhone As String
Public Overridable Property FromEmail As String
Public Overridable Property FromAddress As String
Public Overridable Property FromDesc As String
Public Overridable Property ToName As String
Public Overridable Property ToPhone As String
Public Overridable Property ToEmail As String
Public Overridable Property ToAddress As String
Public Overridable Property ToDesc As String
Public Overridable Property Notes As String
Public Overridable Property Currency As String
Public Overridable Property Status As Integer
Public Overridable Property Total As Decimal?
Public Overridable Property IsPaid As Boolean?
Public Overridable Property PaidDate As Date?
Public Overridable Property IsDeleted As Boolean?
Public Overridable Property IsLocked As Boolean?
Public Overridable Property CreatedDate As Date?
Public Overridable Property ModifiedDate As Date?
Public Overridable Property CreatedByUID As Guid?
End Class
Public Partial Class InvoiceIdentification
Public Overridable Property InvoiceId As Integer
Public Overridable Property InvoiceUid As Guid
End Class
Public Partial Class InvoiceLineItem
Public Overridable Property InvoiceLineItemID As Integer
Public Overridable Property InvoiceID As Integer
Public Overridable Property Type As String
Public Overridable Property Name As String
Public Overridable Property Quantity As Integer?
Public Overridable Property PercentageAdjust As Decimal?
Public Overridable Property AmountAdjust As Decimal?
Public Overridable Property Price As Decimal?
Public Overridable Property Description As String
Public Overridable Property Notes As String
Public Overridable Property IsTaxable As Boolean?
Public Overridable Property DisplayOrder As Integer?
Public Overridable Property IsLocked As Boolean?
Public Overridable Property IsDeleted As Boolean?
Public Overridable Property IsPaid As Boolean?
Public Overridable Property CreatedDate As Date?
Public Overridable Property ModifiedDate As Date?
Public Overridable Property CreatedByUID As Guid?
End Class
End Namespace
End Namespace
VB.NET InsertInvoiceRequest 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.
POST /v1/invoice HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Invoice:
{
InvoiceID: 0,
InvoiceUID: 00000000000000000000000000000000,
ProjectUID: 00000000000000000000000000000000,
InvoiceNumber: String,
InvoiceDate: 0001-01-01,
DueDate: 0001-01-01,
FromName: String,
FromPhone: String,
FromEmail: String,
FromAddress: String,
FromDesc: String,
ToName: String,
ToPhone: String,
ToEmail: String,
ToAddress: String,
ToDesc: String,
Notes: String,
Currency: String,
Status: 0,
Total: 0,
IsPaid: False,
PaidDate: 0001-01-01,
IsDeleted: False,
IsLocked: False,
CreatedDate: 0001-01-01,
ModifiedDate: 0001-01-01,
CreatedByUID: 00000000000000000000000000000000
},
LineItems:
[
{
InvoiceLineItemID: 0,
InvoiceID: 0,
Type: String,
Name: String,
Quantity: 0,
PercentageAdjust: 0,
AmountAdjust: 0,
Price: 0,
Description: String,
Notes: String,
IsTaxable: False,
DisplayOrder: 0,
IsLocked: False,
IsDeleted: False,
IsPaid: False,
CreatedDate: 0001-01-01,
ModifiedDate: 0001-01-01,
CreatedByUID: 00000000000000000000000000000000
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
NewInvoiceIdentification:
{
InvoiceId: 0,
InvoiceUid: 00000000000000000000000000000000
}
}