| POST | /sync/saveincompleteuplift |
|---|
"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,responseStatus?:ResponseStatus}} [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;
/** @type {ResponseStatus} */
responseStatus;
}
export class SaveIncompleteUpliftResponse extends ApiServiceResponse {
/** @param {{imageIds?:string[],description?:string,heading?:string,wasSuccessful?:boolean,responseStatus?:ResponseStatus}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string[]} */
imageIds;
}
export class ProductData {
/** @param {{productId?:number,principalId?:number,name?:string,category?:string,productCode?:string,unitBarcode?:string,cartonQuantity?:number,shrinkQuantity?:number,unitQuantity?:number,cartonMeasurement?:string,shrinkMeasurement?:string,unitMeasurement?:string,cartonWeight?:number,shrinkWeight?:number,unitWeight?:number,cartonPrice?:number,shrinkPrice?:number,unitPrice?:number,maxQuantity?:number,maxPrice?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
productId;
/** @type {number} */
principalId;
/** @type {string} */
name;
/** @type {string} */
category;
/** @type {string} */
productCode;
/** @type {string} */
unitBarcode;
/** @type {number} */
cartonQuantity;
/** @type {number} */
shrinkQuantity;
/** @type {number} */
unitQuantity;
/** @type {string} */
cartonMeasurement;
/** @type {string} */
shrinkMeasurement;
/** @type {string} */
unitMeasurement;
/** @type {number} */
cartonWeight;
/** @type {number} */
shrinkWeight;
/** @type {number} */
unitWeight;
/** @type {number} */
cartonPrice;
/** @type {number} */
shrinkPrice;
/** @type {number} */
unitPrice;
/** @type {number} */
maxQuantity;
/** @type {number} */
maxPrice;
}
export class ProductDataCategory {
/** @param {{unitBarcode?:string,products?:ProductData[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
unitBarcode;
/** @type {ProductData[]} */
products;
}
export class ProductExceptionData {
/** @param {{region?:string,channel?:string,productId?:number,stockStatusIds?:number[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
region;
/** @type {string} */
channel;
/** @type {number} */
productId;
/** @type {number[]} */
stockStatusIds;
}
export class PrincipalData {
/** @param {{principalId?:number,name?:string,authLetterFileUrl?:string[],logoImageUrl?:string,products?:ProductDataCategory[],upliftPrefix?:string,contactName?:string,contactNumber?:string,contactEmail?:string,allowProductLookup?:boolean,hasLogo?:boolean,hasAuthLetter?:boolean,sealNetWeightMandatory?:boolean,allowBillableSeals?:boolean,captureSerialNumber?:boolean,batchCodesMandatory?:boolean,captureManufactureAndExpiryDate?:boolean,productExceptions?:ProductExceptionData[],usesOwnSealNumbers?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
principalId;
/** @type {string} */
name;
/** @type {string[]} */
authLetterFileUrl;
/** @type {string} */
logoImageUrl;
/** @type {ProductDataCategory[]} */
products;
/** @type {string} */
upliftPrefix;
/** @type {string} */
contactName;
/** @type {string} */
contactNumber;
/** @type {string} */
contactEmail;
/** @type {boolean} */
allowProductLookup;
/** @type {boolean} */
hasLogo;
/** @type {boolean} */
hasAuthLetter;
/** @type {boolean} */
sealNetWeightMandatory;
/** @type {boolean} */
allowBillableSeals;
/** @type {boolean} */
captureSerialNumber;
/** @type {boolean} */
batchCodesMandatory;
/** @type {boolean} */
captureManufactureAndExpiryDate;
/** @type {ProductExceptionData[]} */
productExceptions;
/** @type {boolean} */
usesOwnSealNumbers;
}
/** @typedef {number} */
export var ActionOutsideMaxDistanceType;
(function (ActionOutsideMaxDistanceType) {
ActionOutsideMaxDistanceType[ActionOutsideMaxDistanceType["Warn"] = 0] = "Warn"
ActionOutsideMaxDistanceType[ActionOutsideMaxDistanceType["Block"] = 1] = "Block"
})(ActionOutsideMaxDistanceType || (ActionOutsideMaxDistanceType = {}));
export class TemplateProductData {
/** @param {{name?:string,productCode?:string,barcode?:string,statusQty?:{ [index: number]: number; },returnValue?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
name;
/** @type {string} */
productCode;
/** @type {string} */
barcode;
/** @type {{ [index: number]: number; }} */
statusQty;
/** @type {number} */
returnValue;
}
export class UpliftRequestSealData {
/** @param {{number?:string,weight?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
number;
/** @type {number} */
weight;
}
export class UpliftTemplateData {
/** @param {{totalValue?:number,products?:TemplateProductData[],seals?:UpliftRequestSealData[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
totalValue;
/** @type {TemplateProductData[]} */
products;
/** @type {UpliftRequestSealData[]} */
seals;
}
export class StockStatusData {
/** @param {{id?:number,name?:string,photoRequired?:boolean,color?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {boolean} */
photoRequired;
/** @type {string} */
color;
}
export class SealTemplateProduct {
/** @param {{productId?:number,name?:string,productStockStatusId?:number,quantity?:number,serialNumber?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
productId;
/** @type {string} */
name;
/** @type {number} */
productStockStatusId;
/** @type {number} */
quantity;
/** @type {string} */
serialNumber;
}
export class SealTemplateItemData {
/** @param {{sealNumber?:string,productStockStatus?:number,products?:SealTemplateProduct[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
sealNumber;
/** @type {number} */
productStockStatus;
/** @type {SealTemplateProduct[]} */
products;
}
export class SealTemplateData {
/** @param {{items?:SealTemplateItemData[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {SealTemplateItemData[]} */
items;
}
export class AppointmentPrincipleData {
/** @param {{principle?:PrincipalData,scheduledDate?:string,upliftScheduleId?:number,upliftSchedulePrincipleId?:number,principleOutletId?:number,verificationCode?:string,goodsToCollect?:boolean,outletRegion?:string,outletName?:string,outletChannel?:string,outletLatitude?:number,outletLongitude?:number,maxSubmissionDistance?:number,actionOutsideMaxDistance?:ActionOutsideMaxDistanceType,completedDate?:string,cancelled?:boolean,completed?:boolean,upliftTemplate?:UpliftTemplateData,prePopulated?:boolean,allowedProductStockStatuses?:StockStatusData[],noteToOperator?:string,sealTemplate?:SealTemplateData,prePopulatedWithSeals?:boolean,preAuthed?:boolean,operatorName?:string,systemUserId?:number,productExceptions?:ProductExceptionData[],storeConfirmationDocumentUrl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {PrincipalData} */
principle;
/** @type {string} */
scheduledDate;
/** @type {number} */
upliftScheduleId;
/** @type {number} */
upliftSchedulePrincipleId;
/** @type {number} */
principleOutletId;
/** @type {string} */
verificationCode;
/** @type {boolean} */
goodsToCollect;
/** @type {string} */
outletRegion;
/** @type {string} */
outletName;
/** @type {string} */
outletChannel;
/** @type {number} */
outletLatitude;
/** @type {number} */
outletLongitude;
/** @type {number} */
maxSubmissionDistance;
/** @type {ActionOutsideMaxDistanceType} */
actionOutsideMaxDistance;
/** @type {string} */
completedDate;
/** @type {boolean} */
cancelled;
/** @type {boolean} */
completed;
/** @type {UpliftTemplateData} */
upliftTemplate;
/** @type {boolean} */
prePopulated;
/** @type {StockStatusData[]} */
allowedProductStockStatuses;
/** @type {string} */
noteToOperator;
/** @type {SealTemplateData} */
sealTemplate;
/** @type {boolean} */
prePopulatedWithSeals;
/** @type {boolean} */
preAuthed;
/** @type {string} */
operatorName;
/** @type {number} */
systemUserId;
/** @type {ProductExceptionData[]} */
productExceptions;
/** @type {string} */
storeConfirmationDocumentUrl;
}
export class UpliftProductData {
/** @param {{upliftProductId?:number,upliftId?:number,productId?:number,unitPrice?:number,name?:string,category?:string,unitBarcode?:string,unitSize?:string,unitWeight?:number,code?:string,upliftImages?:Object[],quantity?:number,value?:number,priceOverMax?:boolean,quantityOverMax?:boolean,quantityOverRequirement?:boolean,serialNumber?:string,batchCode?:string,stockStatusId?:number,lotNumber?:string,expiryDate?:string,manufactureDate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
upliftProductId;
/** @type {number} */
upliftId;
/** @type {number} */
productId;
/** @type {number} */
unitPrice;
/** @type {string} */
name;
/** @type {string} */
category;
/** @type {string} */
unitBarcode;
/** @type {string} */
unitSize;
/** @type {number} */
unitWeight;
/** @type {string} */
code;
/** @type {Object[]} */
upliftImages;
/** @type {number} */
quantity;
/** @type {number} */
value;
/** @type {boolean} */
priceOverMax;
/** @type {boolean} */
quantityOverMax;
/** @type {boolean} */
quantityOverRequirement;
/** @type {string} */
serialNumber;
/** @type {string} */
batchCode;
/** @type {number} */
stockStatusId;
/** @type {string} */
lotNumber;
/** @type {string} */
expiryDate;
/** @type {string} */
manufactureDate;
}
export class UpliftSealData {
/** @param {{unbagged?:boolean,sealNumber?:string,antelSealNumber?:string,products?:UpliftProductData[],totalPrice?:number,totalQuantity?:number,netWeight?:number,grossWeight?:number,billableSeal?:boolean,invalidAntelSealNumber?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
unbagged;
/** @type {string} */
sealNumber;
/** @type {string} */
antelSealNumber;
/** @type {UpliftProductData[]} */
products;
/** @type {number} */
totalPrice;
/** @type {number} */
totalQuantity;
/** @type {number} */
netWeight;
/** @type {number} */
grossWeight;
/** @type {boolean} */
billableSeal;
/** @type {boolean} */
invalidAntelSealNumber;
}
export class UpliftClaimData {
/** @param {{upliftClaimId?:number,claimUnits?:number,claimNumber?:string,claimValue?:number,claimDocumentImages?:Object[],returnOrderNumber?:string,lineCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
upliftClaimId;
/** @type {number} */
claimUnits;
/** @type {string} */
claimNumber;
/** @type {number} */
claimValue;
/** @type {Object[]} */
claimDocumentImages;
/** @type {string} */
returnOrderNumber;
/** @type {number} */
lineCount;
}
export class UpliftData {
/** @param {{upliftId?:number,principleOutletId?:number,upliftScheduleId?:number,upliftSchedulePrincipleId?:number,authRequestId?:string,delayedAuth?:boolean,appointmentPrincipleData?:AppointmentPrincipleData,authCode?:string,startTime?:string,endTime?:string,sequentialNumber?:string,startLatitude?:number,startLongitude?:number,endLatitude?:number,endLongitude?:number,totalValue?:number,totalUnits?:number,comments?:string,adhocEmailAddress?:string,vatValue?:number,statusImages?:{ [index: number]: Object[]; },damagedOkImages?:Object[],damagedBadImages?:Object[],expiredImages?:Object[],recallImages?:Object[],goodStockImages?:Object[],derangedImages?:Object[],overstockedImages?:Object[],factoryFaultImages?:Object[],outletContactName?:string,outletContactNumber?:string,outletLatitude?:number,outletLongitude?:number,maxSubmissionDistance?:number,actionOutsideMaxDistance?:ActionOutsideMaxDistanceType,outletSignatureImage?:Object,operatorSignatureImage?:Object,operatorRegNumberImage?:Object,seals?:UpliftSealData[],invalidAntelSeal?:boolean,unbaggedItems?:UpliftSealData,authorised?:boolean,claims?:UpliftClaimData[],lastUpdated?:string,lastSynced?:string,checkedOutDeviceId?:string,checkedOutOperatorName?:string,incompleteUpliftId?:string,pauseReason?:string,storeConfirmationDocumentUrl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
upliftId;
/** @type {number} */
principleOutletId;
/** @type {number} */
upliftScheduleId;
/** @type {number} */
upliftSchedulePrincipleId;
/** @type {string} */
authRequestId;
/** @type {boolean} */
delayedAuth;
/** @type {AppointmentPrincipleData} */
appointmentPrincipleData;
/** @type {string} */
authCode;
/** @type {string} */
startTime;
/** @type {string} */
endTime;
/** @type {string} */
sequentialNumber;
/** @type {number} */
startLatitude;
/** @type {number} */
startLongitude;
/** @type {number} */
endLatitude;
/** @type {number} */
endLongitude;
/** @type {number} */
totalValue;
/** @type {number} */
totalUnits;
/** @type {string} */
comments;
/** @type {string} */
adhocEmailAddress;
/** @type {number} */
vatValue;
/** @type {{ [index: number]: Object[]; }} */
statusImages;
/** @type {Object[]} */
damagedOkImages;
/** @type {Object[]} */
damagedBadImages;
/** @type {Object[]} */
expiredImages;
/** @type {Object[]} */
recallImages;
/** @type {Object[]} */
goodStockImages;
/** @type {Object[]} */
derangedImages;
/** @type {Object[]} */
overstockedImages;
/** @type {Object[]} */
factoryFaultImages;
/** @type {string} */
outletContactName;
/** @type {string} */
outletContactNumber;
/** @type {number} */
outletLatitude;
/** @type {number} */
outletLongitude;
/** @type {number} */
maxSubmissionDistance;
/** @type {ActionOutsideMaxDistanceType} */
actionOutsideMaxDistance;
/** @type {Object} */
outletSignatureImage;
/** @type {Object} */
operatorSignatureImage;
/** @type {Object} */
operatorRegNumberImage;
/** @type {UpliftSealData[]} */
seals;
/** @type {boolean} */
invalidAntelSeal;
/** @type {UpliftSealData} */
unbaggedItems;
/** @type {boolean} */
authorised;
/** @type {UpliftClaimData[]} */
claims;
/** @type {string} */
lastUpdated;
/** @type {string} */
lastSynced;
/** @type {string} */
checkedOutDeviceId;
/** @type {string} */
checkedOutOperatorName;
/** @type {string} */
incompleteUpliftId;
/** @type {string} */
pauseReason;
/** @type {string} */
storeConfirmationDocumentUrl;
}
export class SaveIncompleteUplift extends ApiServiceRequest {
/** @param {{incompleteUpliftId?:string,imageIdsOnDevice?:string[],upliftData?:UpliftData,apiKey?:string,latitude?:number,longitude?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
incompleteUpliftId;
/** @type {string[]} */
imageIdsOnDevice;
/** @type {UpliftData} */
upliftData;
}
JavaScript SaveIncompleteUplift DTOs
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 /sync/saveincompleteuplift HTTP/1.1
Host: antel.api.dev.86degrees.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
imageIdsOnDevice:
[
String
],
upliftData:
{
upliftId: 0,
principleOutletId: 0,
upliftScheduleId: 0,
upliftSchedulePrincipleId: 0,
delayedAuth: False,
appointmentPrincipleData:
{
principle:
{
principalId: 0,
name: String,
authLetterFileUrl:
[
String
],
logoImageUrl: String,
products:
[
{
unitBarcode: String,
products:
[
{
productId: 0,
principalId: 0,
name: String,
category: String,
productCode: String,
unitBarcode: String,
cartonQuantity: 0,
shrinkQuantity: 0,
unitQuantity: 0,
cartonMeasurement: String,
shrinkMeasurement: String,
unitMeasurement: String,
cartonWeight: 0,
shrinkWeight: 0,
unitWeight: 0,
cartonPrice: 0,
shrinkPrice: 0,
unitPrice: 0,
maxQuantity: 0,
maxPrice: 0
}
]
}
],
upliftPrefix: String,
contactName: String,
contactNumber: String,
contactEmail: String,
allowProductLookup: False,
hasLogo: False,
hasAuthLetter: False,
sealNetWeightMandatory: False,
allowBillableSeals: False,
captureSerialNumber: False,
batchCodesMandatory: False,
captureManufactureAndExpiryDate: False,
productExceptions:
[
{
region: String,
channel: String,
productId: 0,
stockStatusIds:
[
0
]
}
],
usesOwnSealNumbers: False
},
scheduledDate: String,
upliftScheduleId: 0,
upliftSchedulePrincipleId: 0,
principleOutletId: 0,
verificationCode: String,
goodsToCollect: False,
outletRegion: String,
outletName: String,
outletChannel: String,
outletLatitude: 0,
outletLongitude: 0,
maxSubmissionDistance: 0,
actionOutsideMaxDistance: 0,
completedDate: String,
cancelled: False,
completed: False,
upliftTemplate:
{
totalValue: 0,
products:
[
{
name: String,
productCode: String,
barcode: String,
statusQty:
{
0: 0
},
returnValue: 0
}
],
seals:
[
{
number: String,
weight: 0
}
]
},
prePopulated: False,
allowedProductStockStatuses:
[
{
id: 0,
name: String,
photoRequired: False,
color: String
}
],
noteToOperator: String,
sealTemplate:
{
items:
[
{
sealNumber: String,
productStockStatus: 0,
products:
[
{
productId: 0,
name: String,
productStockStatusId: 0,
quantity: 0,
serialNumber: String
}
]
}
]
},
prePopulatedWithSeals: False,
preAuthed: False,
operatorName: String,
systemUserId: 0,
productExceptions:
[
{
region: String,
channel: String,
productId: 0,
stockStatusIds:
[
0
]
}
],
storeConfirmationDocumentUrl: String
},
authCode: String,
startTime: String,
endTime: String,
sequentialNumber: String,
startLatitude: 0,
startLongitude: 0,
endLatitude: 0,
endLongitude: 0,
totalValue: 0,
totalUnits: 0,
comments: String,
adhocEmailAddress: String,
vatValue: 0,
statusImages:
{
0:
[
{
}
]
},
damagedOkImages:
[
{
}
],
damagedBadImages:
[
{
}
],
expiredImages:
[
{
}
],
recallImages:
[
{
}
],
goodStockImages:
[
{
}
],
derangedImages:
[
{
}
],
overstockedImages:
[
{
}
],
factoryFaultImages:
[
{
}
],
outletContactName: String,
outletContactNumber: String,
outletLatitude: 0,
outletLongitude: 0,
maxSubmissionDistance: 0,
actionOutsideMaxDistance: 0,
outletSignatureImage: {},
operatorSignatureImage: {},
operatorRegNumberImage: {},
seals:
[
{
unbagged: False,
sealNumber: String,
antelSealNumber: String,
products:
[
{
upliftProductId: 0,
upliftId: 0,
productId: 0,
unitPrice: 0,
name: String,
category: String,
unitBarcode: String,
unitSize: String,
unitWeight: 0,
code: String,
upliftImages:
[
{
}
],
quantity: 0,
value: 0,
priceOverMax: False,
quantityOverMax: False,
quantityOverRequirement: False,
serialNumber: String,
batchCode: String,
stockStatusId: 0,
lotNumber: String,
expiryDate: String,
manufactureDate: String
}
],
totalPrice: 0,
totalQuantity: 0,
netWeight: 0,
grossWeight: 0,
billableSeal: False,
invalidAntelSealNumber: False
}
],
invalidAntelSeal: False,
unbaggedItems:
{
unbagged: False,
sealNumber: String,
antelSealNumber: String,
products:
[
{
upliftProductId: 0,
upliftId: 0,
productId: 0,
unitPrice: 0,
name: String,
category: String,
unitBarcode: String,
unitSize: String,
unitWeight: 0,
code: String,
upliftImages:
[
{
}
],
quantity: 0,
value: 0,
priceOverMax: False,
quantityOverMax: False,
quantityOverRequirement: False,
serialNumber: String,
batchCode: String,
stockStatusId: 0,
lotNumber: String,
expiryDate: String,
manufactureDate: String
}
],
totalPrice: 0,
totalQuantity: 0,
netWeight: 0,
grossWeight: 0,
billableSeal: False,
invalidAntelSealNumber: False
},
authorised: False,
claims:
[
{
upliftClaimId: 0,
claimUnits: 0,
claimNumber: String,
claimValue: 0,
claimDocumentImages:
[
{
}
],
returnOrderNumber: String,
lineCount: 0
}
],
lastUpdated: 0001-01-01,
lastSynced: 0001-01-01,
checkedOutOperatorName: String,
pauseReason: String,
storeConfirmationDocumentUrl: String
},
apiKey: String,
latitude: 0,
longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
imageIds:
[
String
],
description: String,
heading: String,
wasSuccessful: False,
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}