All Verbs | /api/integration |
---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eros.Subtle.Canvara.WebAPIModel.ServiceModel;
using Eros.Causal.Common.Entity;
namespace Eros.Causal.Common.Entity
{
public partial class IntegrationFileModel
{
public virtual int index { get; set; }
public virtual string Name { get; set; }
public virtual string Content { get; set; }
public virtual string ContentType { get; set; }
public virtual int FileSizeKB { get; set; }
public virtual string BlobUri { get; set; }
public virtual DateTime CreatedDate { get; set; }
public virtual string Notes { get; set; }
}
public partial class IntegrationVersion
{
public virtual int Major { get; set; }
public virtual int Minor { get; set; }
public virtual int Build { get; set; }
public virtual int Revision { get; set; }
}
public partial class IntegrationWinVersion
{
public virtual string Name { get; set; }
public virtual string Version { get; set; }
public virtual int Build { get; set; }
public virtual string ServicePack { get; set; }
}
}
namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel
{
public partial class SaveIntegration
{
///<summary>
///The integration reference ID which is the gateway packet id. If the value passed is empty, new packet record will be created.
///</summary>
[ApiMember(DataType="Guid?", Description="The integration reference ID which is the gateway packet id. If the value passed is empty, new packet record will be created.", Name="IntegrationId")]
public virtual Guid IntegrationId { get; set; }
///<summary>
///Name or title of the integration
///</summary>
[ApiMember(DataType="string", Description="Name or title of the integration", Name="Title")]
public virtual string Title { get; set; }
///<summary>
///Version information of the integration module.
///</summary>
[ApiMember(DataType="IntegrationVersion", Description="Version information of the integration module.", Name="Version")]
public virtual IntegrationVersion Version { get; set; }
///<summary>
///User who requested the integration
///</summary>
[ApiMember(DataType="string", Description="User who requested the integration", Name="User")]
public virtual string User { get; set; }
///<summary>
///Local computer where the integration is performed on
///</summary>
[ApiMember(DataType="string", Description="Local computer where the integration is performed on", Name="LocalComputer")]
public virtual string LocalComputer { get; set; }
///<summary>
///Windows version information
///</summary>
[ApiMember(DataType="IntegrationWinVersion", Description="Windows version information", Name="WinVersion")]
public virtual IntegrationWinVersion WinVersion { get; set; }
///<summary>
///Completed status of the integration
///</summary>
[ApiMember(DataType="bool", Description="Completed status of the integration", Name="Completed")]
public virtual bool Completed { get; set; }
///<summary>
///Status of the integration.
///</summary>
[ApiMember(DataType="string", Description="Status of the integration.", Name="Status")]
public virtual string Status { get; set; }
///<summary>
///Start date and time of the integration.
///</summary>
[ApiMember(DataType="DateTime", Description="Start date and time of the integration.", Name="StartTime")]
public virtual DateTime StartTime { get; set; }
///<summary>
///End date and time of the integration.
///</summary>
[ApiMember(DataType="DateTime", Description="End date and time of the integration.", Name="EndTime")]
public virtual DateTime EndTime { get; set; }
///<summary>
///Settings XML being used in the integration.
///</summary>
[ApiMember(DataType="IntegrationFileModel", Description="Settings XML being used in the integration.", Name="SettingsFile")]
public virtual IntegrationFileModel SettingsFile { get; set; }
///<summary>
///File (xml) containing the results of the integration
///</summary>
[ApiMember(DataType="IntegrationFileModel", Description="File (xml) containing the results of the integration", Name="ResultsFile")]
public virtual IntegrationFileModel ResultsFile { get; set; }
///<summary>
///File (xml) containing the issues that were identified during integration
///</summary>
[ApiMember(DataType="IntegrationFileModel", Description="File (xml) containing the issues that were identified during integration", Name="IssuesFile")]
public virtual IntegrationFileModel IssuesFile { get; set; }
}
[ApiResponse(Description="Track integration result")]
public partial class SaveIntegrationResponse
{
public virtual Guid IntegrationId { get; set; }
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
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 /api/integration HTTP/1.1
Host: production-eros-platform-apisubscription.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Title: String,
Version:
{
Major: 0,
Minor: 0,
Build: 0,
Revision: 0
},
User: String,
LocalComputer: String,
WinVersion:
{
Name: String,
Version: String,
Build: 0,
ServicePack: String
},
Completed: False,
Status: String,
StartTime: 0001-01-01,
EndTime: 0001-01-01,
SettingsFile:
{
index: 0,
Name: String,
Content: String,
ContentType: String,
FileSizeKB: 0,
BlobUri: String,
CreatedDate: 0001-01-01,
Notes: String
},
ResultsFile:
{
index: 0,
Name: String,
Content: String,
ContentType: String,
FileSizeKB: 0,
BlobUri: String,
CreatedDate: 0001-01-01,
Notes: String
},
IssuesFile:
{
index: 0,
Name: String,
Content: String,
ContentType: String,
FileSizeKB: 0,
BlobUri: String,
CreatedDate: 0001-01-01,
Notes: String
}
}
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 } } }