New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@myparcel/sdk

Package Overview
Dependencies
Maintainers
3
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@myparcel/sdk - npm Package Compare versions

Comparing version 2.4.0 to 2.5.0

42

dist/index.js

@@ -1,2 +0,2 @@

// @myparcel/sdk@2.3.1 2022-08-03T08:17:01.453Z
// @myparcel/sdk@2.4.0 2022-08-11T12:35:40.973Z
'use strict';

@@ -59,2 +59,6 @@

/**
* @protected
*/
parameters;
/**
* Array of headers that are required. Client will throw an error if any are missing.

@@ -68,2 +72,3 @@ *

this.headers = config?.headers ?? {};
this.parameters = config?.parameters ?? {};
}

@@ -166,2 +171,7 @@ get requiredHeaders() {

...options,
parameters: {
...this.parameters,
...options.parameters,
...endpoint.getParameters(),
},
headers: {

@@ -174,9 +184,2 @@ ...(HTTP_METHODS_WITH_CONTENT.includes(endpoint.method) ? { 'Content-Type': 'application/json' } : {}),

};
// Convert all parameters to lowercase.
if (options.parameters) {
newOptions.parameters = Object.entries(options.parameters).reduce((acc, [key, parameter]) => ({
...acc,
[key.toLowerCase()]: parameter.toString(),
}), {});
}
if (isOfType(options, 'body')) {

@@ -220,5 +223,20 @@ newOptions.body = {

responseProperty;
/**
* Headers to include when calling this endpoint.
*/
headers;
/**
* Parameters to include in the endpoint url.
*/
parameters;
constructor(options) {
this.headers = options?.headers ?? {};
this.parameters = options?.parameters ?? {};
}
getHeaders() {
return {};
return this.headers;
}
getParameters() {
return this.parameters;
}
getPath() {

@@ -269,2 +287,3 @@ return this.path;

// noinspection JSUnusedGlobalSymbols
const POST_NL_ID = 1;

@@ -373,2 +392,3 @@ const POST_NL_NAME = 'postnl';

// noinspection JSUnusedGlobalSymbols
const AFGHANISTAN = 'AF';

@@ -907,2 +927,3 @@ const ALAND_ISLANDS = 'AX';

// noinspection JSUnusedGlobalSymbols
const MORNING_ID = 1;

@@ -951,2 +972,3 @@ const MORNING_NAME = 'morning';

// noinspection JSUnusedGlobalSymbols
const PACKAGE_ID = 1;

@@ -995,2 +1017,3 @@ const PACKAGE_NAME = 'package';

// noinspection JSUnusedGlobalSymbols
const MYPARCEL_ID = 1;

@@ -1039,2 +1062,3 @@ const MYPARCEL_NAME = 'myparcel';

// noinspection JSUnusedGlobalSymbols
const AGE_CHECK_HUMAN = 'Age check';

@@ -1041,0 +1065,0 @@ const AGE_CHECK_NAME = 'age_check';

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});class R extends Error{data;constructor(A){super(A.message),Object.setPrototypeOf(this,R.prototype),this.name="ApiException",this.data=A}}class s extends Error{name="user";constructor(A){super(A),Object.setPrototypeOf(this,s.prototype),this.name="UserException"}}const dN=(E,A)=>{if(A){const t=Object.entries(A).map(([N,I])=>`${N}=${I}`);t.length&&(E+=`?${t.join("&")}`)}return E};function c(E,A){return E&&E[A]!==void 0}const O="https://api.myparcel.nl",KN=["POST","PUT"];class L{baseUrl;headers;_requiredHeaders=[];constructor(A){this.baseUrl=(A?.baseUrl??O).replace(/\/+$/,""),this.headers=A?.headers??{}}get requiredHeaders(){return this._requiredHeaders}set requiredHeaders(A){this._requiredHeaders=A}async doRequest(A,t){const N=this.normalizeOptions(A,t);this.validateHeaders(A,N);const I=await this.request(A,N);if(c(I,"errors"))throw new R(I);return c(I,"data")?I.data[A.getResponseProperty()]:I}getHeaders(){return{Accept:"application/json",...this.headers}}createUrl(A,t){let N=A.getPath();if(N.startsWith("/")||(N=`/${N}`),t?.path&&(N=this.substitutePath(N,t.path)),N.includes("/:"))throw new s(`One or more path variables are missing in ${N}`);return t?.parameters&&(N=dN(N,t.parameters)),this.baseUrl+N}substitutePath(A,t){return t&&Object.entries(t).forEach(([N,I])=>{A=A.replace(`:${N}`,String(I))}),A.includes(":")&&A.match(/:\w+?\?/g)?.forEach(I=>{A=A.replace(`/${I}`,"")}),A}validateHeaders(A,t){const N=Object.entries(t.headers).reduce((n,[e,YN])=>({...n,[e.toLowerCase()]:YN}),{}),I=this.requiredHeaders.filter(n=>!(n.toLowerCase()in N));if(I.length)throw new s(`Required headers are missing: ${I.join(", ")}`)}normalizeOptions(A,t){const N={...t,headers:{...KN.includes(A.method)?{"Content-Type":"application/json"}:{},...this.getHeaders(),...t.headers,...A.getHeaders()}};return t.parameters&&(N.parameters=Object.entries(t.parameters).reduce((I,[n,e])=>({...I,[n.toLowerCase()]:e.toString()}),{})),c(t,"body")&&(N.body={data:{[A.getProperty()]:t.body}}),N}}class lN extends L{request=async(A,t)=>{const N={method:A.method,headers:t.headers};c(t,"body")&&(N.body=JSON.stringify(t.body));const I=await fetch(this.createUrl(A,t),N);if(I.body)return I.headers.get("Content-Type")?.includes("application/json")?I.json():I.text()}}class S{method="GET";responseProperty;getHeaders(){return{}}getPath(){return this.path}getProperty(){return this.property}getResponseProperty(){return this.responseProperty??this.property}}class o extends S{}class _ extends S{}function M(E,A){if(!A.length)throw new s("At least one endpoint must be passed.");return A.reduce((t,N)=>({...t,[N.name]:async I=>E.doRequest(N,I??{})}),{})}const hN=(E,A)=>(E.requiredHeaders=["Authorization"],M(E,A)),uN=(E,A)=>M(E,A),T=1,D="postnl",U="PostNL",r=2,C="bpost",P="bpost",G=3,H="cheapcargo",a="Cheap Cargo",i=4,B="dpd",p="DPD",Y=5,d="instabox",K="Instabox",l=6,h="dhl",u="DHL",V=7,F="bol.com",m="Bol.com",y=8,Z="ups",b="UPS",VN={NAME:D,ID:T,HUMAN:U},FN={NAME:C,ID:r,HUMAN:P},W={NAME:H,ID:G,HUMAN:a},g={NAME:B,ID:i,HUMAN:p},f={NAME:d,ID:Y,HUMAN:K},J={NAME:h,ID:l,HUMAN:u},v={NAME:F,ID:V,HUMAN:m},X={NAME:Z,ID:y,HUMAN:b},mN=[W,g,f,J,v,X];var yN=Object.freeze({__proto__:null,POST_NL_ID:T,POST_NL_NAME:D,POST_NL_HUMAN:U,BPOST_ID:r,BPOST_NAME:C,BPOST_HUMAN:P,CHEAP_CARGO_ID:G,CHEAP_CARGO_NAME:H,CHEAP_CARGO_HUMAN:a,DPD_ID:i,DPD_NAME:B,DPD_HUMAN:p,INSTABOX_ID:Y,INSTABOX_NAME:d,INSTABOX_HUMAN:K,DHL_ID:l,DHL_NAME:h,DHL_HUMAN:u,BOL_COM_ID:V,BOL_COM_NAME:F,BOL_COM_HUMAN:m,UPS_ID:y,UPS_NAME:Z,UPS_HUMAN:b,POSTNL:VN,BPOST:FN,CHEAP_CARGO:W,DPD:g,INSTABOX:f,DHL:J,BOL_COM:v,UPS:X,ALL:mN});const ZN="AF",bN="AX",WN="AL",gN="DZ",fN="AS",JN="VI",vN="AD",XN="AO",jN="AI",kN="AQ",xN="AG",QN="AR",wN="AM",$N="AW",qN="AU",j="AT",zN="AZ",At="BS",Nt="BH",tt="BD",Et="BB",It="BY",k="BE",st="BZ",nt="BJ",ot="BM",ct="BT",_t="BO",Rt="BA",et="BW",St="BV",Mt="BR",Ot="IO",Lt="VG",Tt="BN",x="BG",Dt="BF",Ut="BI",rt="CV",Ct="KH",Pt="CM",Gt="CA",Ht="KY",at="CF",it="TD",Bt="CL",pt="CN",Yt="CX",dt="CC",Kt="CO",lt="KM",ht="CG",ut="CD",Vt="CK",Ft="CR",mt="CI",Q="HR",yt="CU",Zt="CW",w="CY",$="CZ",q="DK",bt="DJ",Wt="DM",gt="DO",ft="BQ",Jt="EC",vt="EG",Xt="SV",jt="GQ",kt="ER",z="EE",xt="SZ",Qt="ET",wt="FK",$t="FO",qt="FJ",AA="FI",NA="FR",zt="GF",AE="PF",NE="TF",tE="GA",EE="GM",IE="GE",tA="DE",sE="GH",nE="GI",EA="GR",oE="GL",cE="GD",_E="GP",RE="GU",eE="GT",SE="GG",ME="GN",OE="GW",LE="GY",TE="HT",DE="HM",UE="VA",rE="HN",CE="HK",IA="HU",PE="IS",GE="IN",HE="ID",aE="IR",iE="IQ",sA="IE",BE="IM",pE="IL",nA="IT",YE="JM",dE="JP",KE="JE",lE="JO",hE="KZ",uE="KE",VE="KI",FE="KR",mE="XK",yE="KW",ZE="KG",bE="LA",oA="LV",WE="LB",gE="LS",fE="LR",JE="LY",vE="LI",cA="LT",_A="LU",XE="MO",jE="MG",kE="MW",xE="MY",QE="MV",wE="ML",RA="MT",$E="MH",qE="MQ",zE="MR",AI="MU",NI="YT",tI="MX",EI="FM",II="MD",sI="MC",nI="MN",oI="ME",cI="MS",_I="MA",RI="MZ",eI="MM",SI="NA",MI="NR",OI="NP",eA="NL",LI="NC",TI="NZ",DI="NI",UI="NE",rI="NG",CI="NU",PI="NF",GI="MP",HI="MK",aI="NO",iI="OM",BI="PK",pI="PW",YI="PS",dI="PA",KI="PG",lI="PY",hI="PE",uI="PH",VI="PN",SA="PL",MA="PT",FI="PR",mI="QA",yI="RE",OA="RO",ZI="RU",bI="RW",WI="BL",gI="SH",fI="KN",JI="LC",vI="MF",XI="PM",jI="VC",kI="WS",xI="SM",QI="ST",wI="SA",$I="SN",qI="RS",zI="SC",As="SL",Ns="SG",ts="SX",LA="SK",TA="SI",Es="SB",Is="SO",ss="ZA",ns="GS",os="SS",DA="ES",cs="LK",_s="SD",Rs="SR",es="SJ",UA="SE",Ss="CH",Ms="SY",Os="TW",Ls="TJ",Ts="TZ",Ds="TH",Us="TL",rs="TG",Cs="TK",Ps="TO",Gs="TT",Hs="TN",as="TR",is="TM",Bs="TC",ps="TV",Ys="UG",ds="UA",Ks="AE",ls="GB",hs="UM",us="US",Vs="UY",Fs="UZ",ms="VU",ys="VE",Zs="VN",bs="WF",Ws="EH",gs="YE",fs="ZM",Js="ZW",vs=[j,k,x,Q,w,$,q,z,AA,NA,tA,EA,IA,sA,nA,oA,cA,_A,RA,eA,SA,MA,OA,LA,TA,DA,UA];var Xs=Object.freeze({__proto__:null,AFGHANISTAN:ZN,ALAND_ISLANDS:bN,ALBANIA:WN,ALGERIA:gN,AMERICAN_SAMOA:fN,AMERICAN_VIRGIN_ISLANDS:JN,ANDORRA:vN,ANGOLA:XN,ANGUILLA:jN,ANTARCTICA:kN,ANTIGUA_AND_BARBUDA:xN,ARGENTINA:QN,ARMENIA:wN,ARUBA:$N,AUSTRALIA:qN,AUSTRIA:j,AZERBAIJAN:zN,BAHAMAS:At,BAHRAIN:Nt,BANGLADESH:tt,BARBADOS:Et,BELARUS:It,BELGIUM:k,BELIZE:st,BENIN:nt,BERMUDA:ot,BHUTAN:ct,BOLIVIA:_t,BOSNIA_AND_HERZEGOVINA:Rt,BOTSWANA:et,BOUVET_ISLAND:St,BRAZIL:Mt,BRITISH_INDIAN_OCEAN_TERRITORY:Ot,BRITISH_VIRGIN_ISLANDS:Lt,BRUNEI_DARUSSALAM:Tt,BULGARIA:x,BURKINA_FASO:Dt,BURUNDI:Ut,CABO_VERDE:rt,CAMBODIA:Ct,CAMEROON:Pt,CANADA:Gt,CAYMAN_ISLANDS:Ht,CENTRAL_AFRICAN_REPUBLIC:at,CHAD:it,CHILE:Bt,CHINA:pt,CHRISTMAS_ISLAND:Yt,COCOS_ISLANDS:dt,COLOMBIA:Kt,COMOROS:lt,CONGO_BRAZZAVILLE:ht,CONGO_KINSHASA:ut,COOK_ISLANDS:Vt,COSTA_RICA:Ft,COTE_D_IVOIRE:mt,CROATIA:Q,CUBA:yt,CURACAO:Zt,CYPRUS:w,CZECH_REPUBLIC:$,DENMARK:q,DJIBOUTI:bt,DOMINICA:Wt,DOMINICAN_REPUBLIC:gt,DUTCH_ANTILLES:ft,ECUADOR:Jt,EGYPT:vt,EL_SALVADOR:Xt,EQUATORIAL_GUINEA:jt,ERITREA:kt,ESTONIA:z,ESWATINI:xt,ETHIOPIA:Qt,FALKLAND_ISLANDS:wt,FAROE_ISLANDS:$t,FIJI:qt,FINLAND:AA,FRANCE:NA,FRENCH_GUIANA:zt,FRENCH_POLYNESIA:AE,FRENCH_SOUTHERN_TERRITORIES:NE,GABON:tE,GAMBIA:EE,GEORGIA:IE,GERMANY:tA,GHANA:sE,GIBRALTAR:nE,GREECE:EA,GREENLAND:oE,GRENADA:cE,GUADELOUPE:_E,GUAM:RE,GUATEMALA:eE,GUERNSEY:SE,GUINEA:ME,GUINEA_BISSAU:OE,GUYANA:LE,HAITI:TE,HEARD_ISLAND_AND_MCDONALD_ISLANDS:DE,HOLY_SEE:UE,HONDURAS:rE,HONG_KONG:CE,HUNGARY:IA,ICELAND:PE,INDIA:GE,INDONESIA:HE,IRAN:aE,IRAQ:iE,IRELAND:sA,ISLE_OF_MAN:BE,ISRAEL:pE,ITALY:nA,JAMAICA:YE,JAPAN:dE,JERSEY:KE,JORDAN:lE,KAZAKHSTAN:hE,KENYA:uE,KIRIBATI:VE,KOREA:FE,KOSOVO:mE,KUWAIT:yE,KYRGYZSTAN:ZE,LAO_PEOPLE_DEMOCRATIC_REPUBLIC:bE,LATVIA:oA,LEBANON:WE,LESOTHO:gE,LIBERIA:fE,LIBYA:JE,LIECHTENSTEIN:vE,LITHUANIA:cA,LUXEMBOURG:_A,MACAO:XE,MADAGASCAR:jE,MALAWI:kE,MALAYSIA:xE,MALDIVES:QE,MALI:wE,MALTA:RA,MARSHALL_ISLANDS:$E,MARTINIQUE:qE,MAURITANIA:zE,MAURITIUS:AI,MAYOTTE:NI,MEXICO:tI,MICRONESIA:EI,MOLDOVA:II,MONACO:sI,MONGOLIA:nI,MONTENEGRO:oI,MONTSERRAT:cI,MOROCCO:_I,MOZAMBIQUE:RI,MYANMAR:eI,NAMIBIA:SI,NAURU:MI,NEPAL:OI,NETHERLANDS:eA,NEW_CALEDONIA:LI,NEW_ZEALAND:TI,NICARAGUA:DI,NIGER:UI,NIGERIA:rI,NIUE:CI,NORFOLK_ISLAND:PI,NORTHERN_MARIANA_ISLANDS:GI,NORTH_MACEDONIA:HI,NORWAY:aI,OMAN:iI,PAKISTAN:BI,PALAU:pI,PALESTINE:YI,PANAMA:dI,PAPUA_NEW_GUINEA:KI,PARAGUAY:lI,PERU:hI,PHILIPPINES:uI,PITCAIRN:VI,POLAND:SA,PORTUGAL:MA,PUERTO_RICO:FI,QATAR:mI,REUNION:yI,ROMANIA:OA,RUSSIAN_FEDERATION:ZI,RWANDA:bI,SAINT_BARTHELEMY:WI,SAINT_HELENA:gI,SAINT_KITTS_AND_NEVIS:fI,SAINT_LUCIA:JI,SAINT_MARTIN:vI,SAINT_PIERRE_AND_MIQUELON:XI,SAINT_VINCENT_AND_THE_GRENADINES:jI,SAMOA:kI,SAN_MARINO:xI,SAO_TOME_AND_PRINCIPE:QI,SAUDI_ARABIA:wI,SENEGAL:$I,SERBIA:qI,SEYCHELLES:zI,SIERRA_LEONE:As,SINGAPORE:Ns,SINT_MAARTEN:ts,SLOVAKIA:LA,SLOVENIA:TA,SOLOMON_ISLANDS:Es,SOMALIA:Is,SOUTH_AFRICA:ss,SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS:ns,SOUTH_SUDAN:os,SPAIN:DA,SRI_LANKA:cs,SUDAN:_s,SURINAME:Rs,SVALBARD_AND_JAN_MAYEN:es,SWEDEN:UA,SWITZERLAND:Ss,SYRIAN_ARAB_REPUBLIC:Ms,TAIWAN:Os,TAJIKISTAN:Ls,TANZANIA:Ts,THAILAND:Ds,TIMOR_LESTE:Us,TOGO:rs,TOKELAU:Cs,TONGA:Ps,TRINIDAD_AND_TOBAGO:Gs,TUNISIA:Hs,TURKEY:as,TURKMENISTAN:is,TURKS_AND_CAICOS_ISLANDS:Bs,TUVALU:ps,UGANDA:Ys,UKRAINE:ds,UNITED_ARAB_EMIRATES:Ks,UNITED_KINGDOM:ls,UNITED_STATES_MINOR_OUTLYING_ISLANDS:hs,UNITED_STATES_OF_AMERICA:us,URUGUAY:Vs,UZBEKISTAN:Fs,VANUATU:ms,VENEZUELA:ys,VIETNAM:Zs,WALLIS_AND_FUTUNA:bs,WESTERN_SAHARA:Ws,YEMEN:gs,ZAMBIA:fs,ZIMBABWE:Js,EU:vs});const rA=1,CA="morning",PA=2,GA="standard",HA=3,aA="evening",iA=4,BA="pickup",pA={ID:rA,NAME:CA},YA={ID:PA,NAME:GA},dA={ID:HA,NAME:aA},KA={ID:iA,NAME:BA},js=[pA,YA,dA,KA];var ks=Object.freeze({__proto__:null,MORNING_ID:rA,MORNING_NAME:CA,STANDARD_ID:PA,STANDARD_NAME:GA,EVENING_ID:HA,EVENING_NAME:aA,PICKUP_ID:iA,PICKUP_NAME:BA,MORNING:pA,STANDARD:YA,EVENING:dA,PICKUP:KA,ALL:js});const lA=1,hA="package",uA=2,VA="mailbox",FA=3,mA="letter",yA=4,ZA="digital_stamp",bA={ID:lA,NAME:hA},WA={ID:uA,NAME:VA},gA={ID:FA,NAME:mA},fA={ID:yA,NAME:ZA},xs=[bA,WA,gA,fA];var Qs=Object.freeze({__proto__:null,PACKAGE_ID:lA,PACKAGE_NAME:hA,MAILBOX_ID:uA,MAILBOX_NAME:VA,LETTER_ID:FA,LETTER_NAME:mA,DIGITAL_STAMP_ID:yA,DIGITAL_STAMP_NAME:ZA,PACKAGE:bA,MAILBOX:WA,LETTER:gA,DIGITAL_STAMP:fA,ALL:xs});const JA=1,vA="myparcel",XA="MyParcel",jA=2,kA="belgie",xA="SendMyParcel",QA=3,wA="flespakket",$A="Flespakket",qA={ID:JA,NAME:vA,HUMAN:XA},zA={ID:jA,NAME:kA,HUMAN:xA},AN={ID:QA,NAME:wA,HUMAN:$A},ws=[qA,zA,AN];var $s=Object.freeze({__proto__:null,MYPARCEL_ID:JA,MYPARCEL_NAME:vA,MYPARCEL_HUMAN:XA,SENDMYPARCEL_ID:jA,SENDMYPARCEL_NAME:kA,SENDMYPARCEL_HUMAN:xA,FLESPAKKET_ID:QA,FLESPAKKET_NAME:wA,FLESPAKKET_HUMAN:$A,MYPARCEL:qA,SENDMYPARCEL:zA,FLESPAKKET:AN,ALL:ws});const NN="Age check",tN="age_check",EN="Cooled delivery",IN="cooled_delivery",sN="Insurance",nN="insurance",oN="Large format",cN="large_format",_N="Only recipient",RN="only_recipient",eN="Printerless return",SN="printerless_return",MN="Return",ON="return",LN="Same day delivery",TN="same_day_delivery",DN="Signature",UN="signature",rN={NAME:tN,HUMAN:NN},CN={NAME:IN,HUMAN:EN},PN={NAME:nN,HUMAN:sN},GN={NAME:cN,HUMAN:oN},HN={NAME:RN,HUMAN:_N},aN={NAME:SN,HUMAN:eN},iN={NAME:ON,HUMAN:MN},BN={NAME:TN,HUMAN:LN},pN={NAME:UN,HUMAN:DN},qs=[rN,CN,PN,GN,HN,aN,iN,BN,pN];var zs=Object.freeze({__proto__:null,AGE_CHECK_HUMAN:NN,AGE_CHECK_NAME:tN,COOLED_DELIVERY_HUMAN:EN,COOLED_DELIVERY_NAME:IN,INSURANCE_HUMAN:sN,INSURANCE_NAME:nN,LARGE_FORMAT_HUMAN:oN,LARGE_FORMAT_NAME:cN,ONLY_RECIPIENT_HUMAN:_N,ONLY_RECIPIENT_NAME:RN,PRINTERLESS_RETURN_HUMAN:eN,PRINTERLESS_RETURN_NAME:SN,RETURN_HUMAN:MN,RETURN_NAME:ON,SAME_DAY_DELIVERY_HUMAN:LN,SAME_DAY_DELIVERY_NAME:TN,SIGNATURE_HUMAN:DN,SIGNATURE_NAME:UN,AGE_CHECK:rN,COOLED_DELIVERY:CN,INSURANCE:PN,LARGE_FORMAT:GN,ONLY_RECIPIENT:HN,PRINTERLESS_RETURN:aN,RETURN:iN,SAME_DAY_DELIVERY:BN,SIGNATURE:pN,ALL:qs});class An extends _{name="getShipment";path="shipments/:id";property="shipments"}class Nn extends _{name="getShipments";path="shipments";property="shipments"}class tn extends _{method="POST";name="postShipments";path="shipments";property="shipments";responseProperty="ids"}class En extends o{name="getCarrier";path="carriers/:carrier";property="carriers"}class In extends o{name="getCarriers";path="carriers";property="carriers"}class sn extends o{name="getDeliveryOptions";path="delivery_options";property="deliveries";getHeaders(){return{...super.getHeaders(),Accept:"application/json;version=2.0"}}}class nn extends o{name="getPickupLocations";path="pickup_locations";property="pickup_locations"}exports.AbstractClient=L,exports.AbstractEndpoint=S,exports.AbstractPrivateEndpoint=_,exports.AbstractPublicEndpoint=o,exports.ApiException=R,exports.BASE_URL=O,exports.CARRIERS=yN,exports.COUNTRIES=Xs,exports.DELIVERY_TYPES=ks,exports.FetchClient=lN,exports.GetCarrier=En,exports.GetCarriers=In,exports.GetDeliveryOptions=sn,exports.GetPickupLocations=nn,exports.GetShipment=An,exports.GetShipments=Nn,exports.PACKAGE_TYPES=Qs,exports.PLATFORMS=$s,exports.PostShipments=tn,exports.SHIPMENT_OPTIONS=zs,exports.UserException=s,exports.createMyParcelSdk=M,exports.createPrivateSdk=hN,exports.createPublicSdk=uN;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});class _ extends Error{data;constructor(A){super(A.message),Object.setPrototypeOf(this,_.prototype),this.name="ApiException",this.data=A}}class s extends Error{name="user";constructor(A){super(A),Object.setPrototypeOf(this,s.prototype),this.name="UserException"}}const dN=(E,A)=>{if(A){const t=Object.entries(A).map(([N,I])=>`${N}=${I}`);t.length&&(E+=`?${t.join("&")}`)}return E};function o(E,A){return E&&E[A]!==void 0}const M="https://api.myparcel.nl",KN=["POST","PUT"];class O{baseUrl;headers;parameters;_requiredHeaders=[];constructor(A){this.baseUrl=(A?.baseUrl??M).replace(/\/+$/,""),this.headers=A?.headers??{},this.parameters=A?.parameters??{}}get requiredHeaders(){return this._requiredHeaders}set requiredHeaders(A){this._requiredHeaders=A}async doRequest(A,t){const N=this.normalizeOptions(A,t);this.validateHeaders(A,N);const I=await this.request(A,N);if(o(I,"errors"))throw new _(I);return o(I,"data")?I.data[A.getResponseProperty()]:I}getHeaders(){return{Accept:"application/json",...this.headers}}createUrl(A,t){let N=A.getPath();if(N.startsWith("/")||(N=`/${N}`),t?.path&&(N=this.substitutePath(N,t.path)),N.includes("/:"))throw new s(`One or more path variables are missing in ${N}`);return t?.parameters&&(N=dN(N,t.parameters)),this.baseUrl+N}substitutePath(A,t){return t&&Object.entries(t).forEach(([N,I])=>{A=A.replace(`:${N}`,String(I))}),A.includes(":")&&A.match(/:\w+?\?/g)?.forEach(I=>{A=A.replace(`/${I}`,"")}),A}validateHeaders(A,t){const N=Object.entries(t.headers).reduce((e,[pN,YN])=>({...e,[pN.toLowerCase()]:YN}),{}),I=this.requiredHeaders.filter(e=>!(e.toLowerCase()in N));if(I.length)throw new s(`Required headers are missing: ${I.join(", ")}`)}normalizeOptions(A,t){const N={...t,parameters:{...this.parameters,...t.parameters,...A.getParameters()},headers:{...KN.includes(A.method)?{"Content-Type":"application/json"}:{},...this.getHeaders(),...t.headers,...A.getHeaders()}};return o(t,"body")&&(N.body={data:{[A.getProperty()]:t.body}}),N}}class lN extends O{request=async(A,t)=>{const N={method:A.method,headers:t.headers};o(t,"body")&&(N.body=JSON.stringify(t.body));const I=await fetch(this.createUrl(A,t),N);if(I.body)return I.headers.get("Content-Type")?.includes("application/json")?I.json():I.text()}}class R{method="GET";responseProperty;headers;parameters;constructor(A){this.headers=A?.headers??{},this.parameters=A?.parameters??{}}getHeaders(){return this.headers}getParameters(){return this.parameters}getPath(){return this.path}getProperty(){return this.property}getResponseProperty(){return this.responseProperty??this.property}}class n extends R{}class c extends R{}function S(E,A){if(!A.length)throw new s("At least one endpoint must be passed.");return A.reduce((t,N)=>({...t,[N.name]:async I=>E.doRequest(N,I??{})}),{})}const hN=(E,A)=>(E.requiredHeaders=["Authorization"],S(E,A)),uN=(E,A)=>S(E,A),L=1,T="postnl",D="PostNL",r=2,U="bpost",C="bpost",a=3,P="cheapcargo",G="Cheap Cargo",H=4,i="dpd",B="DPD",p=5,Y="instabox",d="Instabox",K=6,l="dhl",h="DHL",u=7,V="bol.com",m="Bol.com",F=8,y="ups",Z="UPS",VN={NAME:T,ID:L,HUMAN:D},mN={NAME:U,ID:r,HUMAN:C},W={NAME:P,ID:a,HUMAN:G},b={NAME:i,ID:H,HUMAN:B},g={NAME:Y,ID:p,HUMAN:d},f={NAME:l,ID:K,HUMAN:h},J={NAME:V,ID:u,HUMAN:m},v={NAME:y,ID:F,HUMAN:Z},FN=[W,b,g,f,J,v];var yN=Object.freeze({__proto__:null,POST_NL_ID:L,POST_NL_NAME:T,POST_NL_HUMAN:D,BPOST_ID:r,BPOST_NAME:U,BPOST_HUMAN:C,CHEAP_CARGO_ID:a,CHEAP_CARGO_NAME:P,CHEAP_CARGO_HUMAN:G,DPD_ID:H,DPD_NAME:i,DPD_HUMAN:B,INSTABOX_ID:p,INSTABOX_NAME:Y,INSTABOX_HUMAN:d,DHL_ID:K,DHL_NAME:l,DHL_HUMAN:h,BOL_COM_ID:u,BOL_COM_NAME:V,BOL_COM_HUMAN:m,UPS_ID:F,UPS_NAME:y,UPS_HUMAN:Z,POSTNL:VN,BPOST:mN,CHEAP_CARGO:W,DPD:b,INSTABOX:g,DHL:f,BOL_COM:J,UPS:v,ALL:FN});const ZN="AF",WN="AX",bN="AL",gN="DZ",fN="AS",JN="VI",vN="AD",XN="AO",kN="AI",xN="AQ",jN="AG",QN="AR",wN="AM",$N="AW",qN="AU",X="AT",zN="AZ",At="BS",Nt="BH",tt="BD",Et="BB",It="BY",k="BE",st="BZ",nt="BJ",ot="BM",ct="BT",_t="BO",et="BA",Rt="BW",St="BV",Mt="BR",Ot="IO",Lt="VG",Tt="BN",x="BG",Dt="BF",rt="BI",Ut="CV",Ct="KH",at="CM",Pt="CA",Gt="KY",Ht="CF",it="TD",Bt="CL",pt="CN",Yt="CX",dt="CC",Kt="CO",lt="KM",ht="CG",ut="CD",Vt="CK",mt="CR",Ft="CI",j="HR",yt="CU",Zt="CW",Q="CY",w="CZ",$="DK",Wt="DJ",bt="DM",gt="DO",ft="BQ",Jt="EC",vt="EG",Xt="SV",kt="GQ",xt="ER",q="EE",jt="SZ",Qt="ET",wt="FK",$t="FO",qt="FJ",z="FI",AA="FR",zt="GF",AE="PF",NE="TF",tE="GA",EE="GM",IE="GE",NA="DE",sE="GH",nE="GI",tA="GR",oE="GL",cE="GD",_E="GP",eE="GU",RE="GT",SE="GG",ME="GN",OE="GW",LE="GY",TE="HT",DE="HM",rE="VA",UE="HN",CE="HK",EA="HU",aE="IS",PE="IN",GE="ID",HE="IR",iE="IQ",IA="IE",BE="IM",pE="IL",sA="IT",YE="JM",dE="JP",KE="JE",lE="JO",hE="KZ",uE="KE",VE="KI",mE="KR",FE="XK",yE="KW",ZE="KG",WE="LA",nA="LV",bE="LB",gE="LS",fE="LR",JE="LY",vE="LI",oA="LT",cA="LU",XE="MO",kE="MG",xE="MW",jE="MY",QE="MV",wE="ML",_A="MT",$E="MH",qE="MQ",zE="MR",AI="MU",NI="YT",tI="MX",EI="FM",II="MD",sI="MC",nI="MN",oI="ME",cI="MS",_I="MA",eI="MZ",RI="MM",SI="NA",MI="NR",OI="NP",eA="NL",LI="NC",TI="NZ",DI="NI",rI="NE",UI="NG",CI="NU",aI="NF",PI="MP",GI="MK",HI="NO",iI="OM",BI="PK",pI="PW",YI="PS",dI="PA",KI="PG",lI="PY",hI="PE",uI="PH",VI="PN",RA="PL",SA="PT",mI="PR",FI="QA",yI="RE",MA="RO",ZI="RU",WI="RW",bI="BL",gI="SH",fI="KN",JI="LC",vI="MF",XI="PM",kI="VC",xI="WS",jI="SM",QI="ST",wI="SA",$I="SN",qI="RS",zI="SC",As="SL",Ns="SG",ts="SX",OA="SK",LA="SI",Es="SB",Is="SO",ss="ZA",ns="GS",os="SS",TA="ES",cs="LK",_s="SD",es="SR",Rs="SJ",DA="SE",Ss="CH",Ms="SY",Os="TW",Ls="TJ",Ts="TZ",Ds="TH",rs="TL",Us="TG",Cs="TK",as="TO",Ps="TT",Gs="TN",Hs="TR",is="TM",Bs="TC",ps="TV",Ys="UG",ds="UA",Ks="AE",ls="GB",hs="UM",us="US",Vs="UY",ms="UZ",Fs="VU",ys="VE",Zs="VN",Ws="WF",bs="EH",gs="YE",fs="ZM",Js="ZW",vs=[X,k,x,j,Q,w,$,q,z,AA,NA,tA,EA,IA,sA,nA,oA,cA,_A,eA,RA,SA,MA,OA,LA,TA,DA];var Xs=Object.freeze({__proto__:null,AFGHANISTAN:ZN,ALAND_ISLANDS:WN,ALBANIA:bN,ALGERIA:gN,AMERICAN_SAMOA:fN,AMERICAN_VIRGIN_ISLANDS:JN,ANDORRA:vN,ANGOLA:XN,ANGUILLA:kN,ANTARCTICA:xN,ANTIGUA_AND_BARBUDA:jN,ARGENTINA:QN,ARMENIA:wN,ARUBA:$N,AUSTRALIA:qN,AUSTRIA:X,AZERBAIJAN:zN,BAHAMAS:At,BAHRAIN:Nt,BANGLADESH:tt,BARBADOS:Et,BELARUS:It,BELGIUM:k,BELIZE:st,BENIN:nt,BERMUDA:ot,BHUTAN:ct,BOLIVIA:_t,BOSNIA_AND_HERZEGOVINA:et,BOTSWANA:Rt,BOUVET_ISLAND:St,BRAZIL:Mt,BRITISH_INDIAN_OCEAN_TERRITORY:Ot,BRITISH_VIRGIN_ISLANDS:Lt,BRUNEI_DARUSSALAM:Tt,BULGARIA:x,BURKINA_FASO:Dt,BURUNDI:rt,CABO_VERDE:Ut,CAMBODIA:Ct,CAMEROON:at,CANADA:Pt,CAYMAN_ISLANDS:Gt,CENTRAL_AFRICAN_REPUBLIC:Ht,CHAD:it,CHILE:Bt,CHINA:pt,CHRISTMAS_ISLAND:Yt,COCOS_ISLANDS:dt,COLOMBIA:Kt,COMOROS:lt,CONGO_BRAZZAVILLE:ht,CONGO_KINSHASA:ut,COOK_ISLANDS:Vt,COSTA_RICA:mt,COTE_D_IVOIRE:Ft,CROATIA:j,CUBA:yt,CURACAO:Zt,CYPRUS:Q,CZECH_REPUBLIC:w,DENMARK:$,DJIBOUTI:Wt,DOMINICA:bt,DOMINICAN_REPUBLIC:gt,DUTCH_ANTILLES:ft,ECUADOR:Jt,EGYPT:vt,EL_SALVADOR:Xt,EQUATORIAL_GUINEA:kt,ERITREA:xt,ESTONIA:q,ESWATINI:jt,ETHIOPIA:Qt,FALKLAND_ISLANDS:wt,FAROE_ISLANDS:$t,FIJI:qt,FINLAND:z,FRANCE:AA,FRENCH_GUIANA:zt,FRENCH_POLYNESIA:AE,FRENCH_SOUTHERN_TERRITORIES:NE,GABON:tE,GAMBIA:EE,GEORGIA:IE,GERMANY:NA,GHANA:sE,GIBRALTAR:nE,GREECE:tA,GREENLAND:oE,GRENADA:cE,GUADELOUPE:_E,GUAM:eE,GUATEMALA:RE,GUERNSEY:SE,GUINEA:ME,GUINEA_BISSAU:OE,GUYANA:LE,HAITI:TE,HEARD_ISLAND_AND_MCDONALD_ISLANDS:DE,HOLY_SEE:rE,HONDURAS:UE,HONG_KONG:CE,HUNGARY:EA,ICELAND:aE,INDIA:PE,INDONESIA:GE,IRAN:HE,IRAQ:iE,IRELAND:IA,ISLE_OF_MAN:BE,ISRAEL:pE,ITALY:sA,JAMAICA:YE,JAPAN:dE,JERSEY:KE,JORDAN:lE,KAZAKHSTAN:hE,KENYA:uE,KIRIBATI:VE,KOREA:mE,KOSOVO:FE,KUWAIT:yE,KYRGYZSTAN:ZE,LAO_PEOPLE_DEMOCRATIC_REPUBLIC:WE,LATVIA:nA,LEBANON:bE,LESOTHO:gE,LIBERIA:fE,LIBYA:JE,LIECHTENSTEIN:vE,LITHUANIA:oA,LUXEMBOURG:cA,MACAO:XE,MADAGASCAR:kE,MALAWI:xE,MALAYSIA:jE,MALDIVES:QE,MALI:wE,MALTA:_A,MARSHALL_ISLANDS:$E,MARTINIQUE:qE,MAURITANIA:zE,MAURITIUS:AI,MAYOTTE:NI,MEXICO:tI,MICRONESIA:EI,MOLDOVA:II,MONACO:sI,MONGOLIA:nI,MONTENEGRO:oI,MONTSERRAT:cI,MOROCCO:_I,MOZAMBIQUE:eI,MYANMAR:RI,NAMIBIA:SI,NAURU:MI,NEPAL:OI,NETHERLANDS:eA,NEW_CALEDONIA:LI,NEW_ZEALAND:TI,NICARAGUA:DI,NIGER:rI,NIGERIA:UI,NIUE:CI,NORFOLK_ISLAND:aI,NORTHERN_MARIANA_ISLANDS:PI,NORTH_MACEDONIA:GI,NORWAY:HI,OMAN:iI,PAKISTAN:BI,PALAU:pI,PALESTINE:YI,PANAMA:dI,PAPUA_NEW_GUINEA:KI,PARAGUAY:lI,PERU:hI,PHILIPPINES:uI,PITCAIRN:VI,POLAND:RA,PORTUGAL:SA,PUERTO_RICO:mI,QATAR:FI,REUNION:yI,ROMANIA:MA,RUSSIAN_FEDERATION:ZI,RWANDA:WI,SAINT_BARTHELEMY:bI,SAINT_HELENA:gI,SAINT_KITTS_AND_NEVIS:fI,SAINT_LUCIA:JI,SAINT_MARTIN:vI,SAINT_PIERRE_AND_MIQUELON:XI,SAINT_VINCENT_AND_THE_GRENADINES:kI,SAMOA:xI,SAN_MARINO:jI,SAO_TOME_AND_PRINCIPE:QI,SAUDI_ARABIA:wI,SENEGAL:$I,SERBIA:qI,SEYCHELLES:zI,SIERRA_LEONE:As,SINGAPORE:Ns,SINT_MAARTEN:ts,SLOVAKIA:OA,SLOVENIA:LA,SOLOMON_ISLANDS:Es,SOMALIA:Is,SOUTH_AFRICA:ss,SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS:ns,SOUTH_SUDAN:os,SPAIN:TA,SRI_LANKA:cs,SUDAN:_s,SURINAME:es,SVALBARD_AND_JAN_MAYEN:Rs,SWEDEN:DA,SWITZERLAND:Ss,SYRIAN_ARAB_REPUBLIC:Ms,TAIWAN:Os,TAJIKISTAN:Ls,TANZANIA:Ts,THAILAND:Ds,TIMOR_LESTE:rs,TOGO:Us,TOKELAU:Cs,TONGA:as,TRINIDAD_AND_TOBAGO:Ps,TUNISIA:Gs,TURKEY:Hs,TURKMENISTAN:is,TURKS_AND_CAICOS_ISLANDS:Bs,TUVALU:ps,UGANDA:Ys,UKRAINE:ds,UNITED_ARAB_EMIRATES:Ks,UNITED_KINGDOM:ls,UNITED_STATES_MINOR_OUTLYING_ISLANDS:hs,UNITED_STATES_OF_AMERICA:us,URUGUAY:Vs,UZBEKISTAN:ms,VANUATU:Fs,VENEZUELA:ys,VIETNAM:Zs,WALLIS_AND_FUTUNA:Ws,WESTERN_SAHARA:bs,YEMEN:gs,ZAMBIA:fs,ZIMBABWE:Js,EU:vs});const rA=1,UA="morning",CA=2,aA="standard",PA=3,GA="evening",HA=4,iA="pickup",BA={ID:rA,NAME:UA},pA={ID:CA,NAME:aA},YA={ID:PA,NAME:GA},dA={ID:HA,NAME:iA},ks=[BA,pA,YA,dA];var xs=Object.freeze({__proto__:null,MORNING_ID:rA,MORNING_NAME:UA,STANDARD_ID:CA,STANDARD_NAME:aA,EVENING_ID:PA,EVENING_NAME:GA,PICKUP_ID:HA,PICKUP_NAME:iA,MORNING:BA,STANDARD:pA,EVENING:YA,PICKUP:dA,ALL:ks});const KA=1,lA="package",hA=2,uA="mailbox",VA=3,mA="letter",FA=4,yA="digital_stamp",ZA={ID:KA,NAME:lA},WA={ID:hA,NAME:uA},bA={ID:VA,NAME:mA},gA={ID:FA,NAME:yA},js=[ZA,WA,bA,gA];var Qs=Object.freeze({__proto__:null,PACKAGE_ID:KA,PACKAGE_NAME:lA,MAILBOX_ID:hA,MAILBOX_NAME:uA,LETTER_ID:VA,LETTER_NAME:mA,DIGITAL_STAMP_ID:FA,DIGITAL_STAMP_NAME:yA,PACKAGE:ZA,MAILBOX:WA,LETTER:bA,DIGITAL_STAMP:gA,ALL:js});const fA=1,JA="myparcel",vA="MyParcel",XA=2,kA="belgie",xA="SendMyParcel",jA=3,QA="flespakket",wA="Flespakket",$A={ID:fA,NAME:JA,HUMAN:vA},qA={ID:XA,NAME:kA,HUMAN:xA},zA={ID:jA,NAME:QA,HUMAN:wA},ws=[$A,qA,zA];var $s=Object.freeze({__proto__:null,MYPARCEL_ID:fA,MYPARCEL_NAME:JA,MYPARCEL_HUMAN:vA,SENDMYPARCEL_ID:XA,SENDMYPARCEL_NAME:kA,SENDMYPARCEL_HUMAN:xA,FLESPAKKET_ID:jA,FLESPAKKET_NAME:QA,FLESPAKKET_HUMAN:wA,MYPARCEL:$A,SENDMYPARCEL:qA,FLESPAKKET:zA,ALL:ws});const AN="Age check",NN="age_check",tN="Cooled delivery",EN="cooled_delivery",IN="Insurance",sN="insurance",nN="Large format",oN="large_format",cN="Only recipient",_N="only_recipient",eN="Printerless return",RN="printerless_return",SN="Return",MN="return",ON="Same day delivery",LN="same_day_delivery",TN="Signature",DN="signature",rN={NAME:NN,HUMAN:AN},UN={NAME:EN,HUMAN:tN},CN={NAME:sN,HUMAN:IN},aN={NAME:oN,HUMAN:nN},PN={NAME:_N,HUMAN:cN},GN={NAME:RN,HUMAN:eN},HN={NAME:MN,HUMAN:SN},iN={NAME:LN,HUMAN:ON},BN={NAME:DN,HUMAN:TN},qs=[rN,UN,CN,aN,PN,GN,HN,iN,BN];var zs=Object.freeze({__proto__:null,AGE_CHECK_HUMAN:AN,AGE_CHECK_NAME:NN,COOLED_DELIVERY_HUMAN:tN,COOLED_DELIVERY_NAME:EN,INSURANCE_HUMAN:IN,INSURANCE_NAME:sN,LARGE_FORMAT_HUMAN:nN,LARGE_FORMAT_NAME:oN,ONLY_RECIPIENT_HUMAN:cN,ONLY_RECIPIENT_NAME:_N,PRINTERLESS_RETURN_HUMAN:eN,PRINTERLESS_RETURN_NAME:RN,RETURN_HUMAN:SN,RETURN_NAME:MN,SAME_DAY_DELIVERY_HUMAN:ON,SAME_DAY_DELIVERY_NAME:LN,SIGNATURE_HUMAN:TN,SIGNATURE_NAME:DN,AGE_CHECK:rN,COOLED_DELIVERY:UN,INSURANCE:CN,LARGE_FORMAT:aN,ONLY_RECIPIENT:PN,PRINTERLESS_RETURN:GN,RETURN:HN,SAME_DAY_DELIVERY:iN,SIGNATURE:BN,ALL:qs});class An extends c{name="getShipment";path="shipments/:id";property="shipments"}class Nn extends c{name="getShipments";path="shipments";property="shipments"}class tn extends c{method="POST";name="postShipments";path="shipments";property="shipments";responseProperty="ids"}class En extends n{name="getCarrier";path="carriers/:carrier";property="carriers"}class In extends n{name="getCarriers";path="carriers";property="carriers"}class sn extends n{name="getDeliveryOptions";path="delivery_options";property="deliveries";getHeaders(){return{...super.getHeaders(),Accept:"application/json;version=2.0"}}}class nn extends n{name="getPickupLocations";path="pickup_locations";property="pickup_locations"}exports.AbstractClient=O,exports.AbstractEndpoint=R,exports.AbstractPrivateEndpoint=c,exports.AbstractPublicEndpoint=n,exports.ApiException=_,exports.BASE_URL=M,exports.CARRIERS=yN,exports.COUNTRIES=Xs,exports.DELIVERY_TYPES=xs,exports.FetchClient=lN,exports.GetCarrier=En,exports.GetCarriers=In,exports.GetDeliveryOptions=sn,exports.GetPickupLocations=nn,exports.GetShipment=An,exports.GetShipments=Nn,exports.PACKAGE_TYPES=Qs,exports.PLATFORMS=$s,exports.PostShipments=tn,exports.SHIPMENT_OPTIONS=zs,exports.UserException=s,exports.createMyParcelSdk=S,exports.createPrivateSdk=hN,exports.createPublicSdk=uN;
//# sourceMappingURL=index.min.js.map
{
"name": "@myparcel/sdk",
"version": "2.4.0",
"version": "2.5.0",
"description": "JavaScript SDK to connect to the MyParcel API via Node.js or browser",

@@ -5,0 +5,0 @@ "keywords": [

# @myparcel/sdk
[![npm](https://img.shields.io/npm/v/@myparcel/sdk)](https://www.npmjs.com/package/@myparcel/sdk/)
[![coverage](https://img.shields.io/codecov/c/github/myparcelnl/js-sdk?logo=codecov)](https://codecov.io/gh/myparcelnl/js-sdk)
[![npm](https://img.shields.io/npm/v/@myparcel/sdk?labelColor=27272A&logoColor=FFFFFF&style=for-the-badge&color=CC3534&logo=npm)](https://www.npmjs.com/package/@myparcel/sdk/)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/myparcelnl/js-sdk?labelColor=27272A&style=for-the-badge)](https://github.com/myparcelnl/js-sdk/releases)
Official JavaScript SDK to connect to the MyParcel API via Node.js or browser.
## Installation
## Documentation
```shell
# Using Yarn
yarn add @myparcel/sdk
To the [documentation](https://developer.myparcel.nl/documentation/51.javascript-sdk.html).
# Or NPM
npm i @myparcel/sdk
```
## Endpoints
### Public
Public endpoints do not require authorization and are safe to use in a browser.
- Delivery options
- [GetDeliveryOptions](./src/endpoints/public/delivery-options/GetDeliveryOptions.ts)
- Pickup locations
- [GetPickupLocations](./src/endpoints/public/pickup-locations/GetPickupLocations.ts)
- Carriers
- [GetCarriers](./src/endpoints/public/carriers/GetCarriers.ts)
- [GetCarrier](./src/endpoints/public/carriers/GetCarrier.ts)
### Private
Private endpoints require an Authorization header. This should be a base64
encoded MyParcel API key. You can create one in the shop settings in
our [backoffice]. See [Authorization] in the API documentation for more
information.
- Shipments
- [GetShipment](./src/endpoints/private/shipments/GetShipment.ts)
- [GetShipments](./src/endpoints/private/shipments/GetShipments.ts)
- [PostShipments](./src/endpoints/private/shipments/PostShipments.ts)
## Usage examples
### Basic usage
The client is Promise-based, so you can use `async/await`, or `Promise.then`.
First, instantiate an SDK and pass the endpoints you want to use.
```js
import { createPrivateSdk, PostShipments } from '@myparcel/sdk';
const clientConfig = {
headers: {
Authorization: 'bearer ' + MY_BASE_64_ENCODED_API_KEY
}
};
const sdk = createPrivateSdk(new FetchClient(clientConfig), [
new PostShipments(),
]);
```
Then call the endpoint. There are constants available in our SDK for data like
carriers, package types, delivery types and more.
See [constants](#using-constants)
#### POST Shipments example
```js
const result = await sdk.postShipments({
body: [
{
carrier: 1,
options: {
package_type: 'package',
},
recipient: {
cc: 'NL',
city: 'Hoofddorp',
person: 'Ms. Parcel',
street: 'Antareslaan 31',
},
},
]
});
console.log(result); // [ 123456 ] (The ID of the shipment that was just created)
```
#### GET Shipment example
To get a shipment, you need to pass the shipment ID as a path parameter:
```js
import { createPrivateSdk, GetShipment } from '@myparcel/sdk';
const clientConfig = {
headers: {
Authorization: 'bearer ' + MY_BASE_64_ENCODED_API_KEY
}
};
const sdk = createPrivateSdk(new FetchClient(clientConfig), [
new GetShipment(),
]);
const result = await sdk.getShipment({ path: { id: 123456 } });
console.log(result); // [{ ... }] (Array with singular shipment object)
```
### Using constants
Our SDK exposes some constants to make working with our API easier.
- Carriers
```js
import { CARRIERS } from '@myparcelnl/sdk';
CARRIERS.POSTNL_NAME // "postnl"
```
- **Package types:** Contains all package types' names and IDs.
```js
import { PACKAGE_TYPES } from '@myparcelnl/sdk';
PACKAGE_TYPES.DIGITAL_STAMP_NAME // "digital_stamp"
PACKAGE_TYPES.PACKAGE_ID // 1
PACKAGE_TYPES.LETTER // { ID: 3, NAME: "letter" }
// etc
```
- **Delivery types**
```js
import { DELIVERY_TYPES } from '@myparcelnl/sdk';
DELIVERY_TYPES.STANDARD_NAME // "standard"
DELIVERY_TYPES.PICKUP_ID // 4
DELIVERY_TYPES.MORNING // { ID: 1, NAME: "morning" }
// etc
```
- **Countries:** Contains constants for all countries, by name.
```js
import { COUNTRIES } from '@myparcelnl/sdk';
COUNTRIES.NETHERLANDS // "NL"
COUNTRIES.GERMANY // "DE"
// etc
```
### Creating a new endpoint
To create a new endpoint, you can extend either `AbstractPrivateEndpoint`
or `AbstractPublicEndpoint` and fill in the derived class as needed.
Feel free to add open a pull request to add it to our repository!
See [CONTRIBUTING.md].
### Creating a new client
In this example we're creating an Axios client.
```js
class AxiosClient extends AbstractClient {
async request(endpoint, options) {
try {
const response = await axios.request({
method: endpoint.method,
url: this.createUrl(endpoint, options),
headers: options.headers,
});
return response.data;
} catch (e) {
return e.response.data;
}
}
}
```
Now use the new client with an SDK instance:
```js
const sdk = createPublicSdk(new AxiosClient(), [new GetCarriers()]);
const carriers = await sdk.getCarriers();
console.log(carriers); // [ { "id": 1, "name": "postnl", (etc...)
```
## Contributing
See [CONTRIBUTING.md].
[backoffice]: https://backoffice.myparcel.nl/settings
[Authorization]: https://myparcelnl.github.io/api/#5
[CONTRIBUTING.md]: ./CONTRIBUTING.md
See [CONTRIBUTING.md](./CONTRIBUTING.md).

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc