UNPKG

sdksio-postnl-ecommerce-apis-sdk

Version:

Collection of PostNL API's for ecommerce processes

67 lines (64 loc) 2.53 kB
/** * PostNL Ecommerce APIsLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { ApiResponse, RequestOptions } from '../core'; import { CheckoutPostalCodecheckMethodNotAllowedError, } from '../errors/checkoutPostalCodecheckMethodNotAllowedError'; import { CheckoutPostalCodecheckTooManyRequestError, } from '../errors/checkoutPostalCodecheckTooManyRequestError'; import { CheckoutPostalCodecheckUnauthorizedError, } from '../errors/checkoutPostalCodecheckUnauthorizedError'; import { CpcResponseError } from '../errors/cpcResponseError'; import { CpcResponseInvalidError } from '../errors/cpcResponseInvalidError'; import { CpcResponse, cpcResponseSchema } from '../models/cpcResponse'; import { array, number, optional, string } from '../schema'; import { BaseController } from './baseController'; export class PostalcodeCheckController extends BaseController { /** * Please note that this API is not available on the sandbox environment. * * Request example: * ``` * curl -X GET "https://api.postnl.nl/shipment/checkout/v1/postalcodecheck?postalcode=3571ZZ&amp; * housenumber=74&amp;housenumberaddition=bis" \ * -H "Accept: application/json" \ * -H "apikey: APIKEY-HERE" * ``` * * * @param postalcode * @param housenumber * @param housenumberaddition * @return Response from the API call */ async checkoutPostalcodeCheck( postalcode: string, housenumber: number, housenumberaddition?: string, requestOptions?: RequestOptions ): Promise<ApiResponse<CpcResponse[]>> { const req = this.createRequest( 'GET', '/shipment/checkout/v1/postalcodecheck' ); const mapped = req.prepareArgs({ postalcode: [postalcode, string()], housenumber: [housenumber, number()], housenumberaddition: [housenumberaddition, optional(string())], }); req.query('postalcode', mapped.postalcode); req.query('housenumber', mapped.housenumber); req.query('housenumberaddition', mapped.housenumberaddition); req.throwOn(400, CpcResponseInvalidError, 'Bad request'); req.throwOn(401, CheckoutPostalCodecheckUnauthorizedError, 'Invalid apikey'); req.throwOn(405, CheckoutPostalCodecheckMethodNotAllowedError, 'Method not allowed'); req.throwOn(429, CheckoutPostalCodecheckTooManyRequestError, 'Too many requests'); req.throwOn(500, CpcResponseError, 'Internal server error'); return req.callAsJson(array(cpcResponseSchema), requestOptions); } }