| POST | /subscription/{EventType} | Subscribe to an event with a url we should post to | |
|---|---|---|---|
| POST | /subscription | Subscribe to an event with a url we should post to |
"use strict";
export class ApiServiceRequest {
/** @param {{ApiKey?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The API Key required for authentication */
ApiKey;
}
export class ApiServiceResponse {
/** @param {{Description?:string,Heading?:string,WasSuccessful?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Information about the response. */
Description;
/**
* @type {string}
* @description Heading or summary of the response. */
Heading;
/**
* @type {boolean}
* @description Did the intended operation for this response complete successfully? */
WasSuccessful;
}
/** @typedef {number} */
export var WebhookSubscriptionEventType;
(function (WebhookSubscriptionEventType) {
WebhookSubscriptionEventType[WebhookSubscriptionEventType["DriverOnTheWay"] = 0] = "DriverOnTheWay"
WebhookSubscriptionEventType[WebhookSubscriptionEventType["ArrivedAtWaypoint"] = 1] = "ArrivedAtWaypoint"
WebhookSubscriptionEventType[WebhookSubscriptionEventType["DepartedWaypoint"] = 2] = "DepartedWaypoint"
WebhookSubscriptionEventType[WebhookSubscriptionEventType["OrderCompleted"] = 3] = "OrderCompleted"
WebhookSubscriptionEventType[WebhookSubscriptionEventType["OrderCancelled"] = 4] = "OrderCancelled"
})(WebhookSubscriptionEventType || (WebhookSubscriptionEventType = {}));
export class AddSubscription extends ApiServiceRequest {
/** @param {{EventType?:WebhookSubscriptionEventType,SubscriptionUrl?:string,ApiKey?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {WebhookSubscriptionEventType}
* @description The event type being subscribed to */
EventType;
/**
* @type {string}
* @description The URL we should post the event data to */
SubscriptionUrl;
}
JavaScript AddSubscription DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /subscription/{EventType} HTTP/1.1
Host: api.1fetch.co.za
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<AddSubscription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel">
<ApiKey xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.Base">String</ApiKey>
<EventType>DriverOnTheWay</EventType>
<SubscriptionUrl>String</SubscriptionUrl>
</AddSubscription>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ApiServiceResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ClientServiceModel.Base"> <Description>String</Description> <Heading>String</Heading> <WasSuccessful>false</WasSuccessful> </ApiServiceResponse>