UNPKG

sdksio-postnl-ecommerce-apis-sdk

Version:

Collection of PostNL API's for ecommerce processes

54 lines (51 loc) 1.85 kB
/** * 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); } }