sdksio-postnl-ecommerce-apis-sdk
Version:
Collection of PostNL API's for ecommerce processes
54 lines (51 loc) • 1.85 kB
text/typescript
/**
* PostNL Ecommerce APIsLib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { ApiResponse, RequestOptions } from '../core';
import {
ConfirmingMethodNotAllowedError,
} from '../errors/confirmingMethodNotAllowedError';
import { ConfirmingResponseError } from '../errors/confirmingResponseError';
import {
ConfirmingResponseError1Error,
} from '../errors/confirmingResponseError1Error';
import {
ConfirmingTooManyRequestError,
} from '../errors/confirmingTooManyRequestError';
import {
ConfirmingUnauthorizedError,
} from '../errors/confirmingUnauthorizedError';
import {
ConfirmingRequest,
confirmingRequestSchema,
} from '../models/confirmingRequest';
import {
ConfirmingResponse,
confirmingResponseSchema,
} from '../models/confirmingResponse';
import { BaseController } from './baseController';
export class ConfirmingController extends BaseController {
/**
* Confirm a shipment to PostNL
*
* @param body
* @return Response from the API call
*/
async confirmAShipmentToPostNL(
body: ConfirmingRequest,
requestOptions?: RequestOptions
): Promise<ApiResponse<ConfirmingResponse>> {
const req = this.createRequest('POST', '/shipment/v2/confirm');
const mapped = req.prepareArgs({ body: [body, confirmingRequestSchema] });
req.header('Content-Type', 'application/json');
req.json(mapped.body);
req.throwOn(400, ConfirmingResponseError, 'Error payload');
req.throwOn(401, ConfirmingUnauthorizedError, 'Invalid apikey');
req.throwOn(405, ConfirmingMethodNotAllowedError, 'Method not allowed');
req.throwOn(429, ConfirmingTooManyRequestError, 'Too many requests');
req.throwOn(500, ConfirmingResponseError1Error, 'Internal server error');
return req.callAsJson(confirmingResponseSchema, requestOptions);
}
}