| POST | /thunderbolt/submit |
|---|
export class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo
{
/** @description The API Key required for authentication */
// @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
public apiKey: string;
/** @description Latitude of the user making this request */
// @ApiMember(DataType="double", Description="Latitude of the user making this request")
public latitude: number;
/** @description Longitude of the user making this request */
// @ApiMember(DataType="double", Description="Longitude of the user making this request")
public longitude: number;
public constructor(init?: Partial<ApiServiceRequest>) { (Object as any).assign(this, init); }
}
export class ApiServiceResponse implements IServiceResponse
{
public description: string;
public heading: string;
public wasSuccessful: boolean;
public modelState: Object;
public constructor(init?: Partial<ApiServiceResponse>) { (Object as any).assign(this, init); }
}
export class EnumOption
{
public value: number;
public label: string;
public constructor(init?: Partial<EnumOption>) { (Object as any).assign(this, init); }
}
export class ThunderBoltActionData
{
public id: number;
public actionName: string;
public color: string;
public dailyActionCount: number;
public showNumberInput: boolean;
public showEmailInput: boolean;
public showPlatformInput: boolean;
public showDateTimeInput: boolean;
public contactInteractionPlatforms: EnumOption[];
public constructor(init?: Partial<ThunderBoltActionData>) { (Object as any).assign(this, init); }
}
export class ThunderBoltActionEventData
{
public id: number;
public createdDate: string;
public actionId: number;
public actionName: string;
public color: string;
public notes: string;
public constructor(init?: Partial<ThunderBoltActionEventData>) { (Object as any).assign(this, init); }
}
export class ContactData
{
public contactId: number;
public contactName: string;
public email: string;
public phoneNumber: string;
public constructor(init?: Partial<ContactData>) { (Object as any).assign(this, init); }
}
export class GetThunderBoltActionsResponse extends ApiServiceResponse
{
public dailyActionsNumber: number;
public supportingDocumentProbability: number;
public thunderBoltActions: ThunderBoltActionData[];
public thunderBoltActionEvents: ThunderBoltActionEventData[];
public contacts: ContactData[];
public constructor(init?: Partial<GetThunderBoltActionsResponse>) { super(init); (Object as any).assign(this, init); }
}
export class SubmitThunderBoltActionResponse extends GetThunderBoltActionsResponse
{
public thunderboltActionEventId: number;
public constructor(init?: Partial<SubmitThunderBoltActionResponse>) { super(init); (Object as any).assign(this, init); }
}
export enum ContactInteractionPlatform
{
None = 0,
Whatsapp = 1,
Linkus = 2,
Mobile = 3,
Outlook = 4,
LinkedIn = 5,
Telegram = 6,
Signal = 7,
Sms = 8,
}
export class SubmitThunderBoltAction extends ApiServiceRequest
{
public actionId: number;
public platform: ContactInteractionPlatform;
public number: string;
public email: string;
public notes: string;
public dateTime: string;
public contactId: number;
public constructor(init?: Partial<SubmitThunderBoltAction>) { super(init); (Object as any).assign(this, init); }
}
TypeScript SubmitThunderBoltAction DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
Content-Type: application/json
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: application/json
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":{}}