Trendsic Platform Service

<back to all web services

UpdateInvoiceRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
PUT,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 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 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

        Public Partial Class UpdateInvoiceRequest
            Public Overridable Property Invoice As Invoice
            Public Overridable Property LineItems As List(Of InvoiceLineItem) = New List(Of InvoiceLineItem)
        End Class

        Public Partial Class UpdateInvoiceResponse
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property Success As Boolean
        End Class
    End Namespace
End Namespace

VB.NET UpdateInvoiceRequest 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 /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
		}
	},
	Success: False
}