Cochrane+ App API

<back to all web services

SubmitThunderBoltAction

Requires Authentication
The following routes are available for this service:
POST/thunderbolt/submit
"use strict";
export class ApiServiceRequest {
    /** @param {{apiKey?:string,latitude?:number,longitude?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The API Key required for authentication */
    apiKey;
    /**
     * @type {number}
     * @description Latitude of the user making this request */
    latitude;
    /**
     * @type {number}
     * @description Longitude of the user making this request */
    longitude;
}
export class ApiServiceResponse {
    /** @param {{description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    description;
    /** @type {string} */
    heading;
    /** @type {boolean} */
    wasSuccessful;
    /** @type {Object} */
    modelState;
}
export class EnumOption {
    /** @param {{value?:number,label?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    value;
    /** @type {string} */
    label;
}
export class ThunderBoltActionData {
    /** @param {{id?:number,actionName?:string,color?:string,dailyActionCount?:number,showNumberInput?:boolean,showEmailInput?:boolean,showPlatformInput?:boolean,showDateTimeInput?:boolean,contactInteractionPlatforms?:EnumOption[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {string} */
    actionName;
    /** @type {string} */
    color;
    /** @type {number} */
    dailyActionCount;
    /** @type {boolean} */
    showNumberInput;
    /** @type {boolean} */
    showEmailInput;
    /** @type {boolean} */
    showPlatformInput;
    /** @type {boolean} */
    showDateTimeInput;
    /** @type {EnumOption[]} */
    contactInteractionPlatforms;
}
export class ThunderBoltActionEventData {
    /** @param {{id?:number,createdDate?:string,actionId?:number,actionName?:string,color?:string,notes?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {string} */
    createdDate;
    /** @type {number} */
    actionId;
    /** @type {string} */
    actionName;
    /** @type {string} */
    color;
    /** @type {string} */
    notes;
}
export class ContactData {
    /** @param {{contactId?:number,contactName?:string,email?:string,phoneNumber?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    contactId;
    /** @type {string} */
    contactName;
    /** @type {string} */
    email;
    /** @type {string} */
    phoneNumber;
}
export class GetThunderBoltActionsResponse extends ApiServiceResponse {
    /** @param {{dailyActionsNumber?:number,supportingDocumentProbability?:number,thunderBoltActions?:ThunderBoltActionData[],thunderBoltActionEvents?:ThunderBoltActionEventData[],contacts?:ContactData[],description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {number} */
    dailyActionsNumber;
    /** @type {number} */
    supportingDocumentProbability;
    /** @type {ThunderBoltActionData[]} */
    thunderBoltActions;
    /** @type {ThunderBoltActionEventData[]} */
    thunderBoltActionEvents;
    /** @type {ContactData[]} */
    contacts;
}
export class SubmitThunderBoltActionResponse extends GetThunderBoltActionsResponse {
    /** @param {{thunderboltActionEventId?:number,dailyActionsNumber?:number,supportingDocumentProbability?:number,thunderBoltActions?:ThunderBoltActionData[],thunderBoltActionEvents?:ThunderBoltActionEventData[],contacts?:ContactData[],description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {number} */
    thunderboltActionEventId;
}
/** @typedef {number} */
export var ContactInteractionPlatform;
(function (ContactInteractionPlatform) {
    ContactInteractionPlatform[ContactInteractionPlatform["None"] = 0] = "None"
    ContactInteractionPlatform[ContactInteractionPlatform["Whatsapp"] = 1] = "Whatsapp"
    ContactInteractionPlatform[ContactInteractionPlatform["Linkus"] = 2] = "Linkus"
    ContactInteractionPlatform[ContactInteractionPlatform["Mobile"] = 3] = "Mobile"
    ContactInteractionPlatform[ContactInteractionPlatform["Outlook"] = 4] = "Outlook"
    ContactInteractionPlatform[ContactInteractionPlatform["LinkedIn"] = 5] = "LinkedIn"
    ContactInteractionPlatform[ContactInteractionPlatform["Telegram"] = 6] = "Telegram"
    ContactInteractionPlatform[ContactInteractionPlatform["Signal"] = 7] = "Signal"
    ContactInteractionPlatform[ContactInteractionPlatform["Sms"] = 8] = "Sms"
})(ContactInteractionPlatform || (ContactInteractionPlatform = {}));
export class SubmitThunderBoltAction extends ApiServiceRequest {
    /** @param {{actionId?:number,platform?:ContactInteractionPlatform,number?:string,email?:string,notes?:string,dateTime?:string,contactId?:number,apiKey?:string,latitude?:number,longitude?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {number} */
    actionId;
    /** @type {ContactInteractionPlatform} */
    platform;
    /** @type {string} */
    number;
    /** @type {string} */
    email;
    /** @type {string} */
    notes;
    /** @type {string} */
    dateTime;
    /** @type {number} */
    contactId;
}

JavaScript 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

HTTP + JSON

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":{}}