sdksio-postnl-ecommerce-apis-sdk
Version:
Collection of PostNL API's for ecommerce processes
67 lines (64 loc) • 2.53 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 {
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&
* housenumber=74&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);
}
}