Antel API

<back to all web services

SaveIncompleteUplift

Requires Authentication
The following routes are available for this service:
POST/sync/saveincompleteuplift

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
{
    /** @description Information about the response. */
    // @ApiMember(Description="Information about the response.", IsRequired=true)
    public description: string;

    /** @description Heading or summary of the response. */
    // @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
    public heading: string;

    /** @description Did the intended operation for this response complete successfully? */
    // @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
    public wasSuccessful: boolean;

    public responseStatus: ResponseStatus;

    public constructor(init?: Partial<ApiServiceResponse>) { (Object as any).assign(this, init); }
}

export class SaveIncompleteUpliftResponse extends ApiServiceResponse
{
    public imageIds: string[];

    public constructor(init?: Partial<SaveIncompleteUpliftResponse>) { super(init); (Object as any).assign(this, init); }
}

export class ProductData
{
    public productId: number;
    public principalId: number;
    public name: string;
    public category: string;
    public productCode: string;
    public unitBarcode: string;
    public cartonQuantity: number;
    public shrinkQuantity: number;
    public unitQuantity: number;
    public cartonMeasurement: string;
    public shrinkMeasurement: string;
    public unitMeasurement: string;
    public cartonWeight: number;
    public shrinkWeight: number;
    public unitWeight: number;
    public cartonPrice: number;
    public shrinkPrice: number;
    public unitPrice: number;
    public maxQuantity: number;
    public maxPrice: number;

    public constructor(init?: Partial<ProductData>) { (Object as any).assign(this, init); }
}

export class ProductDataCategory
{
    public unitBarcode: string;
    public products: ProductData[];

    public constructor(init?: Partial<ProductDataCategory>) { (Object as any).assign(this, init); }
}

export class ProductExceptionData
{
    public region: string;
    public channel: string;
    public productId: number;
    public stockStatusIds: number[];

    public constructor(init?: Partial<ProductExceptionData>) { (Object as any).assign(this, init); }
}

export class PrincipalData
{
    public principalId: number;
    public name: string;
    public authLetterFileUrl: string[];
    public logoImageUrl: string;
    public products: ProductDataCategory[];
    public upliftPrefix: string;
    public contactName: string;
    public contactNumber: string;
    public contactEmail: string;
    public allowProductLookup: boolean;
    public hasLogo: boolean;
    public hasAuthLetter: boolean;
    public sealNetWeightMandatory: boolean;
    public allowBillableSeals: boolean;
    public captureSerialNumber: boolean;
    public batchCodesMandatory: boolean;
    public captureManufactureAndExpiryDate: boolean;
    public productExceptions: ProductExceptionData[];
    public usesOwnSealNumbers: boolean;

    public constructor(init?: Partial<PrincipalData>) { (Object as any).assign(this, init); }
}

export enum ActionOutsideMaxDistanceType
{
    Warn = 0,
    Block = 1,
}

export class TemplateProductData
{
    public name: string;
    public productCode: string;
    public barcode: string;
    public statusQty: { [index: number]: number; };
    public returnValue: number;

    public constructor(init?: Partial<TemplateProductData>) { (Object as any).assign(this, init); }
}

export class UpliftRequestSealData
{
    public number: string;
    public weight: number;

    public constructor(init?: Partial<UpliftRequestSealData>) { (Object as any).assign(this, init); }
}

export class UpliftTemplateData
{
    public totalValue: number;
    public products: TemplateProductData[];
    public seals: UpliftRequestSealData[];

    public constructor(init?: Partial<UpliftTemplateData>) { (Object as any).assign(this, init); }
}

export class StockStatusData
{
    public id: number;
    public name: string;
    public photoRequired: boolean;
    public color: string;

    public constructor(init?: Partial<StockStatusData>) { (Object as any).assign(this, init); }
}

export class SealTemplateProduct
{
    public productId: number;
    public name: string;
    public productStockStatusId: number;
    public quantity: number;
    public serialNumber: string;

    public constructor(init?: Partial<SealTemplateProduct>) { (Object as any).assign(this, init); }
}

export class SealTemplateItemData
{
    public sealNumber: string;
    public productStockStatus: number;
    public products: SealTemplateProduct[];

    public constructor(init?: Partial<SealTemplateItemData>) { (Object as any).assign(this, init); }
}

export class SealTemplateData
{
    public items: SealTemplateItemData[];

    public constructor(init?: Partial<SealTemplateData>) { (Object as any).assign(this, init); }
}

export class AppointmentPrincipleData
{
    public principle: PrincipalData;
    public scheduledDate: string;
    public upliftScheduleId: number;
    public upliftSchedulePrincipleId: number;
    public principleOutletId: number;
    public verificationCode: string;
    public goodsToCollect: boolean;
    public outletRegion: string;
    public outletName: string;
    public outletChannel: string;
    public outletLatitude: number;
    public outletLongitude: number;
    public maxSubmissionDistance: number;
    public actionOutsideMaxDistance: ActionOutsideMaxDistanceType;
    public completedDate: string;
    public cancelled: boolean;
    public completed: boolean;
    public upliftTemplate: UpliftTemplateData;
    public prePopulated: boolean;
    public allowedProductStockStatuses: StockStatusData[];
    public noteToOperator: string;
    public sealTemplate: SealTemplateData;
    public prePopulatedWithSeals: boolean;
    public preAuthed: boolean;
    public operatorName: string;
    public systemUserId: number;
    public productExceptions: ProductExceptionData[];
    public storeConfirmationDocumentUrl: string;

    public constructor(init?: Partial<AppointmentPrincipleData>) { (Object as any).assign(this, init); }
}

export class UpliftProductData
{
    public upliftProductId: number;
    public upliftId: number;
    public productId: number;
    public unitPrice: number;
    public name: string;
    public category: string;
    public unitBarcode: string;
    public unitSize: string;
    public unitWeight: number;
    public code: string;
    public upliftImages: Object[];
    public quantity: number;
    public value: number;
    public priceOverMax: boolean;
    public quantityOverMax: boolean;
    public quantityOverRequirement: boolean;
    public serialNumber: string;
    public batchCode: string;
    public stockStatusId: number;
    public lotNumber: string;
    public expiryDate: string;
    public manufactureDate: string;

    public constructor(init?: Partial<UpliftProductData>) { (Object as any).assign(this, init); }
}

export class UpliftSealData
{
    public unbagged: boolean;
    public sealNumber: string;
    public antelSealNumber: string;
    public products: UpliftProductData[];
    public totalPrice: number;
    public totalQuantity: number;
    public netWeight: number;
    public grossWeight: number;
    public billableSeal: boolean;
    public invalidAntelSealNumber: boolean;

    public constructor(init?: Partial<UpliftSealData>) { (Object as any).assign(this, init); }
}

export class UpliftClaimData
{
    public upliftClaimId: number;
    public claimUnits: number;
    public claimNumber: string;
    public claimValue: number;
    public claimDocumentImages: Object[];
    public returnOrderNumber: string;
    public lineCount: number;

    public constructor(init?: Partial<UpliftClaimData>) { (Object as any).assign(this, init); }
}

export class UpliftData
{
    public upliftId: number;
    public principleOutletId: number;
    public upliftScheduleId: number;
    public upliftSchedulePrincipleId: number;
    public authRequestId: string;
    public delayedAuth: boolean;
    public appointmentPrincipleData: AppointmentPrincipleData;
    public authCode: string;
    public startTime: string;
    public endTime: string;
    public sequentialNumber: string;
    public startLatitude: number;
    public startLongitude: number;
    public endLatitude: number;
    public endLongitude: number;
    public totalValue: number;
    public totalUnits: number;
    public comments: string;
    public adhocEmailAddress: string;
    public vatValue: number;
    public statusImages: { [index: number]: Object[]; };
    public damagedOkImages: Object[];
    public damagedBadImages: Object[];
    public expiredImages: Object[];
    public recallImages: Object[];
    public goodStockImages: Object[];
    public derangedImages: Object[];
    public overstockedImages: Object[];
    public factoryFaultImages: Object[];
    public outletContactName: string;
    public outletContactNumber: string;
    public outletLatitude: number;
    public outletLongitude: number;
    public maxSubmissionDistance: number;
    public actionOutsideMaxDistance: ActionOutsideMaxDistanceType;
    public outletSignatureImage: Object;
    public operatorSignatureImage: Object;
    public operatorRegNumberImage: Object;
    public seals: UpliftSealData[];
    public invalidAntelSeal: boolean;
    public unbaggedItems: UpliftSealData;
    public authorised: boolean;
    public claims: UpliftClaimData[];
    public lastUpdated: string;
    public lastSynced: string;
    public checkedOutDeviceId: string;
    public checkedOutOperatorName: string;
    public incompleteUpliftId: string;
    public pauseReason: string;
    public storeConfirmationDocumentUrl: string;

    public constructor(init?: Partial<UpliftData>) { (Object as any).assign(this, init); }
}

export class SaveIncompleteUplift extends ApiServiceRequest
{
    public incompleteUpliftId: string;
    public imageIdsOnDevice: string[];
    public upliftData: UpliftData;

    public constructor(init?: Partial<SaveIncompleteUplift>) { super(init); (Object as any).assign(this, init); }
}

TypeScript SaveIncompleteUplift DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
		}
	}
}