| POST | /thunderbolt/submit |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using WebService.ServiceModel;
using WebService.ServiceModel.Base;
using BusinessLogic.Entities;
using CommonService.Api.Models.Base;
using CommonService.Api.Models.Shared;
namespace BusinessLogic.Entities
{
public enum ContactInteractionPlatform
{
None = 0,
Whatsapp = 1,
Linkus = 2,
Mobile = 3,
Outlook = 4,
LinkedIn = 5,
Telegram = 6,
Signal = 7,
Sms = 8,
}
}
namespace CommonService.Api.Models.Base
{
public partial class ApiServiceResponse
: IServiceResponse
{
public virtual string Description { get; set; }
public virtual string Heading { get; set; }
public virtual bool WasSuccessful { get; set; }
public virtual Object ModelState { get; set; }
}
}
namespace CommonService.Api.Models.Shared
{
public partial class EnumOption
{
public virtual int Value { get; set; }
public virtual string Label { get; set; }
}
}
namespace WebService.ServiceModel
{
public partial class ContactData
{
public virtual int ContactId { get; set; }
public virtual string ContactName { get; set; }
public virtual string Email { get; set; }
public virtual string PhoneNumber { get; set; }
}
public partial class GetThunderBoltActionsResponse
: ApiServiceResponse
{
public GetThunderBoltActionsResponse()
{
ThunderBoltActions = new List<ThunderBoltActionData>{};
ThunderBoltActionEvents = new List<ThunderBoltActionEventData>{};
Contacts = new List<ContactData>{};
}
public virtual int DailyActionsNumber { get; set; }
public virtual int SupportingDocumentProbability { get; set; }
public virtual List<ThunderBoltActionData> ThunderBoltActions { get; set; }
public virtual List<ThunderBoltActionEventData> ThunderBoltActionEvents { get; set; }
public virtual List<ContactData> Contacts { get; set; }
}
public partial class SubmitThunderBoltAction
: ApiServiceRequest
{
public virtual int ActionId { get; set; }
public virtual ContactInteractionPlatform Platform { get; set; }
public virtual string Number { get; set; }
public virtual string Email { get; set; }
public virtual string Notes { get; set; }
public virtual DateTime DateTime { get; set; }
public virtual int ContactId { get; set; }
}
public partial class SubmitThunderBoltActionResponse
: GetThunderBoltActionsResponse
{
public virtual int ThunderboltActionEventId { get; set; }
}
public partial class ThunderBoltActionData
{
public ThunderBoltActionData()
{
ContactInteractionPlatforms = new List<EnumOption>{};
}
public virtual int Id { get; set; }
public virtual string ActionName { get; set; }
public virtual string Color { get; set; }
public virtual int DailyActionCount { get; set; }
public virtual bool ShowNumberInput { get; set; }
public virtual bool ShowEmailInput { get; set; }
public virtual bool ShowPlatformInput { get; set; }
public virtual bool ShowDateTimeInput { get; set; }
public virtual List<EnumOption> ContactInteractionPlatforms { get; set; }
}
public partial class ThunderBoltActionEventData
{
public virtual int Id { get; set; }
public virtual string CreatedDate { get; set; }
public virtual int ActionId { get; set; }
public virtual string ActionName { get; set; }
public virtual string Color { get; set; }
public virtual string Notes { get; set; }
}
}
namespace WebService.ServiceModel.Base
{
public partial class ApiServiceRequest
: IServiceRequest, IHasApiKey, IHasDeviceInfo
{
///<summary>
///The API Key required for authentication
///</summary>
[ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)]
public virtual string ApiKey { get; set; }
///<summary>
///Latitude of the user making this request
///</summary>
[ApiMember(DataType="double", Description="Latitude of the user making this request")]
public virtual double Latitude { get; set; }
///<summary>
///Longitude of the user making this request
///</summary>
[ApiMember(DataType="double", Description="Longitude of the user making this request")]
public virtual double Longitude { get; set; }
}
}
C# SubmitThunderBoltAction DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /thunderbolt/submit HTTP/1.1
Host: cochraneplus-api-dev.happen.zone
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"actionId":0,"platform":0,"number":"String","email":"String","notes":"String","dateTime":"0001-01-01T00:00:00.0000000","contactId":0,"apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"thunderboltActionEventId":0,"dailyActionsNumber":0,"supportingDocumentProbability":0,"thunderBoltActions":[{"id":0,"actionName":"String","color":"String","dailyActionCount":0,"showNumberInput":false,"showEmailInput":false,"showPlatformInput":false,"showDateTimeInput":false,"contactInteractionPlatforms":[{"value":0,"label":"String"}]}],"thunderBoltActionEvents":[{"id":0,"createdDate":"String","actionId":0,"actionName":"String","color":"String","notes":"String"}],"contacts":[{}],"description":"String","heading":"String","wasSuccessful":false,"modelState":{}}