kiriminaja 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -101,12 +101,12 @@ await KiriminAja.coverageArea.pricingExpress({
101
101
 
102
102
  // Instant (same-day) rates
103
103
  await KiriminAja.coverageArea.pricingInstant({
104
- service: ["instant"],
104
+ service: [InstantService.GrabExpress],
105
105
  item_price: 10000,
106
106
  origin: { lat: -6.2, long: 106.8, address: "Jl. Sudirman No.1" },
107
107
  destination: { lat: -6.21, long: 106.81, address: "Jl. Thamrin No.5" },
108
108
  weight: 1000,
109
- vehicle: "bike",
109
+ vehicle: "motor" as const,
110
110
  timezone: "Asia/Jakarta",
111
111
  });
112
112
  ```
@@ -122,11 +122,8 @@ await KiriminAja.order.express.track("AWB123456");
122
122
  // Cancel
123
123
  await KiriminAja.order.express.cancel("AWB123456", "Customer request");
124
124
 
125
- // Request pickup (v5)
126
- await KiriminAja.order.express.requestPickupV5(payload);
127
-
128
- // Request pickup (v6.1)
129
- await KiriminAja.order.express.requestPickupV61(payload);
125
+ // Request pickup
126
+ await KiriminAja.order.express.requestPickup(payload);
130
127
  ```
131
128
 
132
129
  ---
@@ -259,11 +256,11 @@ Calls made without `{ apiKey }` fall back to the key set in `defineKiriminAjaPlu
259
256
 
260
257
  Besides `apiKey`, `useKiriminAja()` also accepts `env` and `baseUrl` to override the config set by the plugin — useful for internal proxies, staging servers, or switching environments per-request.
261
258
 
262
- | Option | Type | Description |
263
- | --------- | ------- | ------------------------------------------------- |
264
- | `apiKey` | `string` | Override the Authorization header |
259
+ | Option | Type | Description |
260
+ | --------- | -------- | ----------------------------------------------------- |
261
+ | `apiKey` | `string` | Override the Authorization header |
265
262
  | `env` | `KAEnv` | Switch between `KAEnv.SANDBOX` and `KAEnv.PRODUCTION` |
266
- | `baseUrl` | `string` | Point all requests to a custom URL |
263
+ | `baseUrl` | `string` | Point all requests to a custom URL |
267
264
 
268
265
  ```ts
269
266
  // Route requests through an internal proxy
@@ -1,2 +1,2 @@
1
- var e=function(e){return e.SANDBOX=`sandbox`,e.PRODUCTION=`production`,e}({}),t={[e.SANDBOX]:`https://tdev.kiriminaja.com`,[e.PRODUCTION]:`https://client.kiriminaja.com`},n,r=({env:r=e.SANDBOX,baseUrl:i,apiKey:a,fetch:o,headers:s}={})=>{let c=o??globalThis.fetch;if(!c)throw Error(`Global fetch is not available. Provide Init({ fetch }) or use a runtime with fetch (Node 18+/Bun).`);return n={env:r,baseUrl:i??t[r],apiKey:a,fetch:c,headers:s},n},i=()=>{if(!n)throw Error(`KiriminAja SDK is not initialized. Call KiriminAja.init(), or use a framework adapter (e.g. defineKiriminAjaPlugin for h3/Nitro), or pass options directly to useKiriminAja().`);return n},a=(e,t)=>{let n=e.startsWith(`/`)?e:`/${e}`;return new URL(n,t)},o=async(e,t={})=>{let n=i(),r=a(e,n.baseUrl);if(t.query)for(let[e,n]of Object.entries(t.query))n!=null&&r.searchParams.set(e,String(n));let o=t.method??`POST`,s=t.body!==void 0&&o!==`GET`&&o!==`DELETE`,c=new Headers;if(c.set(`Accept`,`application/json`),s&&c.set(`Content-Type`,`application/json`),n.apiKey&&c.set(`Authorization`,`Bearer ${n.apiKey}`),n.headers&&new Headers(n.headers).forEach((e,t)=>{c.set(t,e)}),t.headers)for(let[e,n]of Object.entries(t.headers))c.set(e,n);let l=await n.fetch(r.toString(),{method:o,headers:c,...s?{body:JSON.stringify(t.body)}:{}});if(!l.ok)throw Error(`Request failed: ${l.status} ${l.statusText}`);return await l.json()},s=async(e,t,n={})=>o(e,{...n,method:`POST`,body:t}),c=async(e,t={})=>o(e,{...t,method:`GET`}),l=async(e,t={})=>o(e,{...t,method:`DELETE`}),u={provinces:()=>s(`/api/mitra/province`),cities:e=>s(`/api/mitra/city`,{provinsi_id:e}),districts:e=>s(`/api/mitra/kecamatan`,{kabupaten_id:e}),subDistricts:e=>s(`/api/mitra/kelurahan`,{kecamatan_id:e}),districtsByName:e=>s(`/api/mitra/v2/get_address_by_name`,{search:e})},d=e=>s(`/api/mitra/v6.1/shipping_price`,e),f=e=>s(`/api/mitra/v4/instant/pricing`,e),p={address:u,coverageArea:{...u,pricingExpress:d,pricingInstant:f},order:{express:{track:e=>s(`/api/mitra/tracking`,{order_id:e}),cancel:(e,t)=>o(`/api/mitra/v3/cancel_shipment`,{method:`POST`,query:{awb:e,reason:t}}),requestPickupV5:e=>s(`/api/mitra/v5/request_pickup`,e),requestPickupV61:e=>s(`/api/mitra/v6.1/request_pickup`,e)},instant:{create:e=>s(`/api/mitra/v4/instant/pickup/request`,e),findNewDriver:e=>s(`/api/mitra/v4/instant/pickup/find-new-driver`,{order_id:e}),cancel:e=>l(`/api/mitra/v4/instant/pickup/void/${e}`),track:e=>c(`/api/mitra/v4/instant/tracking/${e}`)}},pickup:{schedules:()=>s(`/api/mitra/v2/schedules`)},payment:{getPayment:e=>s(`/api/mitra/v2/get_payment`,{payment_id:e})},courier:{list:()=>s(`/api/mitra/couriers`),group:()=>s(`/api/mitra/couriers_group`),detail:e=>s(`/api/mitra/courier_services`,{courier_code:e}),setWhitelistServices:e=>s(`/api/mitra/v3/set_whitelist_services`,{services:e})}};Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
1
+ var e=function(e){return e.SANDBOX=`sandbox`,e.PRODUCTION=`production`,e}({}),t={[e.SANDBOX]:`https://tdev.kiriminaja.com`,[e.PRODUCTION]:`https://client.kiriminaja.com`},n,r=({env:r=e.SANDBOX,baseUrl:i,apiKey:a,fetch:o,headers:s}={})=>{let c=o??globalThis.fetch;if(!c)throw Error(`Global fetch is not available. Provide Init({ fetch }) or use a runtime with fetch (Node 18+/Bun).`);return n={env:r,baseUrl:i??t[r],apiKey:a,fetch:c,headers:s},n},i=()=>{if(!n)throw Error(`KiriminAja SDK is not initialized. Call KiriminAja.init(), or use a framework adapter (e.g. defineKiriminAjaPlugin for h3/Nitro), or pass options directly to useKiriminAja().`);return n},a=(e,t)=>{let n=e.startsWith(`/`)?e:`/${e}`;return new URL(n,t)},o=async(e,t={})=>{let n=i(),r=a(e,n.baseUrl);if(t.query)for(let[e,n]of Object.entries(t.query))n!=null&&r.searchParams.set(e,String(n));let o=t.method??`POST`,s=t.body!==void 0&&o!==`GET`&&o!==`DELETE`,c=new Headers;if(c.set(`Accept`,`application/json`),s&&c.set(`Content-Type`,`application/json`),n.apiKey&&c.set(`Authorization`,`Bearer ${n.apiKey}`),n.headers&&new Headers(n.headers).forEach((e,t)=>{c.set(t,e)}),t.headers)for(let[e,n]of Object.entries(t.headers))c.set(e,n);let l=await n.fetch(r.toString(),{method:o,headers:c,...s?{body:JSON.stringify(t.body)}:{}});if(!l.ok)throw Error(`Request failed: ${l.status} ${l.statusText}`);return await l.json()},s=async(e,t,n={})=>o(e,{...n,method:`POST`,body:t}),c=async(e,t={})=>o(e,{...t,method:`GET`}),l=async(e,t={})=>o(e,{...t,method:`DELETE`}),u={provinces:()=>s(`/api/mitra/province`),cities:e=>s(`/api/mitra/city`,{provinsi_id:e}),districts:e=>s(`/api/mitra/kecamatan`,{kabupaten_id:e}),subDistricts:e=>s(`/api/mitra/kelurahan`,{kecamatan_id:e}),districtsByName:e=>s(`/api/mitra/v2/get_address_by_name`,{search:e})},d=e=>s(`/api/mitra/v6.1/shipping_price`,e),f=e=>s(`/api/mitra/v4/instant/pricing`,e),p={address:u,coverageArea:{...u,pricingExpress:d,pricingInstant:f},order:{express:{track:e=>s(`/api/mitra/tracking`,{order_id:e}),cancel:(e,t)=>o(`/api/mitra/v3/cancel_shipment`,{method:`POST`,query:{awb:e,reason:t}}),requestPickup:e=>s(`/api/mitra/v6.1/request_pickup`,e)},instant:{create:e=>s(`/api/mitra/v4/instant/pickup/request`,e),findNewDriver:e=>s(`/api/mitra/v4/instant/pickup/find-new-driver`,{order_id:e}),cancel:e=>l(`/api/mitra/v4/instant/pickup/void/${e}`),track:e=>c(`/api/mitra/v4/instant/tracking/${e}`)}},pickup:{schedules:()=>s(`/api/mitra/v2/schedules`)},payment:{getPayment:e=>s(`/api/mitra/v2/get_payment`,{payment_id:e})},courier:{list:()=>s(`/api/mitra/couriers`),group:()=>s(`/api/mitra/couriers_group`),detail:e=>s(`/api/mitra/courier_services`,{courier_code:e}),setWhitelistServices:e=>s(`/api/mitra/v3/set_whitelist_services`,{services:e})}};Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
2
2
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","names":[],"sources":["../../src/config/api.ts","../../src/config/client.ts","../../src/http/request.ts","../../src/services/address/province.ts","../../src/services/address/city.ts","../../src/services/address/district.ts","../../src/services/address/sub-district.ts","../../src/services/address/district-by-name.ts","../../src/services/address/index.ts","../../src/services/coverage-area/pricing-express.ts","../../src/services/coverage-area/pricing-instant.ts","../../src/services/coverage-area/index.ts","../../src/services/order/express/cancel.ts","../../src/services/order/express/request-pickup-v5.ts","../../src/services/order/express/request-pickup-v61.ts","../../src/services/order/express/track.ts","../../src/services/order/instant/cancel.ts","../../src/services/order/instant/create.ts","../../src/services/order/instant/find-new-driver.ts","../../src/services/order/instant/track.ts","../../src/services/order/index.ts","../../src/services/pickup/schedules.ts","../../src/services/pickup/index.ts","../../src/services/payment/get-payment.ts","../../src/services/payment/index.ts","../../src/services/courier/detail.ts","../../src/services/courier/group.ts","../../src/services/courier/list.ts","../../src/services/courier/set-whitelist-services.ts","../../src/services/courier/index.ts","../../src/services/index.ts"],"sourcesContent":["export enum KAEnv {\n SANDBOX = \"sandbox\",\n PRODUCTION = \"production\",\n}\n\nexport const KA_ENV_URL: Record<KAEnv, string> = {\n [KAEnv.SANDBOX]: \"https://tdev.kiriminaja.com\",\n [KAEnv.PRODUCTION]: \"https://client.kiriminaja.com\",\n};\n","import { KA_ENV_URL, KAEnv } from \"./api\";\n\nexport type FetchLike = (\n input: Parameters<typeof fetch>[0],\n init?: Parameters<typeof fetch>[1],\n) => ReturnType<typeof fetch>;\n\nexport type HeadersInitLike =\n | Record<string, string>\n | Array<[string, string]>\n | Parameters<typeof fetch>[1];\n\nexport type InitOptions = {\n env?: KAEnv;\n baseUrl?: string;\n apiKey?: string;\n fetch?: FetchLike;\n headers?: HeadersInitLike;\n};\n\nexport type ClientConfig = {\n env: KAEnv;\n baseUrl: string;\n apiKey?: string;\n fetch: FetchLike;\n headers?: HeadersInitLike;\n};\n\nlet singletonConfig: ClientConfig | undefined;\n\nexport const init = ({\n env = KAEnv.SANDBOX,\n baseUrl,\n apiKey,\n fetch: fetchImpl,\n headers,\n}: InitOptions = {}): ClientConfig => {\n const resolvedFetch = fetchImpl ?? (globalThis as Record<string, unknown>).fetch as FetchLike | undefined;\n if (!resolvedFetch) {\n throw new Error(\n \"Global fetch is not available. Provide Init({ fetch }) or use a runtime with fetch (Node 18+/Bun).\",\n );\n }\n\n const resolvedBaseUrl = baseUrl ?? KA_ENV_URL[env];\n singletonConfig = {\n env,\n baseUrl: resolvedBaseUrl,\n apiKey,\n fetch: resolvedFetch,\n headers,\n };\n\n return singletonConfig;\n};\n\nexport const getConfig = (): ClientConfig => {\n if (!singletonConfig) {\n throw new Error(\n \"KiriminAja SDK is not initialized. Call KiriminAja.init(), or use a framework adapter (e.g. defineKiriminAjaPlugin for h3/Nitro), or pass options directly to useKiriminAja().\",\n );\n }\n return singletonConfig;\n};\n","import { getConfig } from \"../config/client\";\n\ntype RequestMethod = \"GET\" | \"POST\" | \"DELETE\";\n\ntype RequestOptions = {\n method?: RequestMethod;\n query?: Record<string, string | number | boolean | undefined | null>;\n body?: unknown;\n headers?: Record<string, string>;\n};\n\nconst buildUrl = (path: string, baseUrl: string) => {\n const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n return new URL(normalizedPath, baseUrl);\n};\n\nexport const requestJson = async <T>(\n path: string,\n options: RequestOptions = {},\n): Promise<T> => {\n const config = getConfig();\n const url = buildUrl(path, config.baseUrl);\n\n if (options.query) {\n for (const [key, value] of Object.entries(options.query)) {\n if (value === undefined || value === null) continue;\n url.searchParams.set(key, String(value));\n }\n }\n\n const method: RequestMethod = options.method ?? \"POST\";\n const hasJsonBody =\n options.body !== undefined && method !== \"GET\" && method !== \"DELETE\";\n\n const headers = new Headers();\n headers.set(\"Accept\", \"application/json\");\n if (hasJsonBody) headers.set(\"Content-Type\", \"application/json\");\n if (config.apiKey) headers.set(\"Authorization\", `Bearer ${config.apiKey}`);\n\n if (config.headers) {\n new Headers(config.headers as any).forEach((value, key) => {\n headers.set(key, value);\n });\n }\n\n if (options.headers) {\n for (const [key, value] of Object.entries(options.headers)) {\n headers.set(key, value);\n }\n }\n\n const response = await config.fetch(url.toString(), {\n method,\n headers,\n ...(hasJsonBody ? { body: JSON.stringify(options.body) } : {}),\n });\n\n if (!response.ok) {\n throw new Error(\n `Request failed: ${response.status} ${response.statusText}`,\n );\n }\n\n return (await response.json()) as T;\n};\n\nexport const postJson = async <T>(\n path: string,\n body?: unknown,\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n): Promise<T> => {\n return requestJson<T>(path, { ...options, method: \"POST\", body });\n};\n\nexport const getJson = async <T>(\n path: string,\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n): Promise<T> => {\n return requestJson<T>(path, { ...options, method: \"GET\" });\n};\n\nexport const deleteJson = async <T>(\n path: string,\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n): Promise<T> => {\n return requestJson<T>(path, { ...options, method: \"DELETE\" });\n};\n","import type { ProvinceListResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getProvinces = () => {\n return postJson<ProvinceListResponse>(\"/api/mitra/province\");\n};\n","import type { CityListResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getCities = (provinsiId: number) => {\n return postJson<CityListResponse>(\"/api/mitra/city\", {\n provinsi_id: provinsiId,\n });\n};\n","import type { DistrictListResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getDistricts = (kabupatenId: number) => {\n return postJson<DistrictListResponse>(\"/api/mitra/kecamatan\", {\n kabupaten_id: kabupatenId,\n });\n};\n","import type { SubDistrictListResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getSubDistricts = (kecamatanId: number) => {\n return postJson<SubDistrictListResponse>(\"/api/mitra/kelurahan\", {\n kecamatan_id: kecamatanId,\n });\n};\n","import type { DistrictByNameResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getDistrictsByName = (search: string) => {\n return postJson<DistrictByNameResponse>(\n \"/api/mitra/v2/get_address_by_name\",\n {\n search,\n },\n );\n};\n","import { getProvinces } from \"./province\";\nimport { getCities } from \"./city\";\nimport { getDistricts } from \"./district\";\nimport { getSubDistricts } from \"./sub-district\";\nimport { getDistrictsByName } from \"./district-by-name\";\n\nexport const address = {\n provinces: getProvinces,\n cities: getCities,\n districts: getDistricts,\n subDistricts: getSubDistricts,\n districtsByName: getDistrictsByName,\n};\n","import type { KAResponse } from \"../../types/api-response\";\nimport { postJson } from \"../../http/request\";\n\nexport type PricingExpressPayload = {\n origin: number;\n destination: number;\n weight: number;\n item_value: string | number;\n insurance: number;\n courier: string[];\n};\n\nexport const getPricingExpress = <T = unknown>(\n payload: PricingExpressPayload,\n) => {\n return postJson<KAResponse<unknown>>(\n \"/api/mitra/v6.1/shipping_price\",\n payload,\n );\n};\n","import type { KAResponse } from \"../../types/api-response\";\nimport { postJson } from \"../../http/request\";\n\nexport type PricingInstantPayload = {\n service: string[];\n item_price: number;\n origin: {\n lat: number;\n long: number;\n address: string;\n };\n destination: {\n lat: number;\n long: number;\n address: string;\n };\n weight: number;\n vehicle: string;\n timezone: string;\n};\n\nexport const getPricingInstant = <T = unknown>(\n payload: PricingInstantPayload,\n) => {\n return postJson<KAResponse<unknown>>(\n \"/api/mitra/v4/instant/pricing\",\n payload,\n );\n};\n","import { getPricingExpress } from \"./pricing-express\";\nimport { getPricingInstant } from \"./pricing-instant\";\nimport { address } from \"../address/index\";\n\nexport const coverageArea = {\n ...address,\n pricingExpress: getPricingExpress,\n pricingInstant: getPricingInstant,\n};\n","import type { CancelExpressOrderResponse } from \"../../../types/order-responses\";\nimport { requestJson } from \"../../../http/request\";\n\nexport const cancelExpressOrder = (awb: string, reason: string) =>\n requestJson<CancelExpressOrderResponse>(\"/api/mitra/v3/cancel_shipment\", {\n method: \"POST\",\n query: {\n awb,\n reason,\n },\n });\n","import type { KAResponse } from \"../../../types/api-response\";\nimport { postJson } from \"../../../http/request\";\n\nexport const requestPickupV5 = (payload: unknown) =>\n postJson<KAResponse<unknown>>(\"/api/mitra/v5/request_pickup\", payload);\n","import type { KAResponse } from \"../../../types/api-response\";\nimport { postJson } from \"../../../http/request\";\n\nexport const requestPickupV61 = (payload: unknown) =>\n postJson<KAResponse<unknown>>(\"/api/mitra/v6.1/request_pickup\", payload);\n","import type { ExpressTrackingResponse } from \"../../../types/order-responses\";\nimport { postJson } from \"../../../http/request\";\n\nexport const trackExpressOrder = (orderId: string) =>\n postJson<ExpressTrackingResponse>(\"/api/mitra/tracking\", {\n order_id: orderId,\n });\n","import type { CancelInstantOrderResponse } from \"../../../types/order-responses\";\nimport { deleteJson } from \"../../../http/request\";\n\nexport const cancelInstantOrder = (orderId: string) =>\n deleteJson<CancelInstantOrderResponse>(\n `/api/mitra/v4/instant/pickup/void/${orderId}`,\n );\n","import type { CreateInstantPickupResponse } from \"../../../types/order-responses\";\nimport { postJson } from \"../../../http/request\";\n\nexport const createInstantPickup = (payload: unknown) =>\n postJson<CreateInstantPickupResponse>(\n \"/api/mitra/v4/instant/pickup/request\",\n payload,\n );\n","import type { FindNewInstantDriverResponse } from \"../../../types/order-responses\";\nimport { postJson } from \"../../../http/request\";\n\nexport const findNewInstantDriver = (orderId: string) =>\n postJson<FindNewInstantDriverResponse>(\n \"/api/mitra/v4/instant/pickup/find-new-driver\",\n {\n order_id: orderId,\n },\n );\n","import type { InstantTrackingResponse } from \"../../../types/order-responses\";\nimport { getJson } from \"../../../http/request\";\n\nexport const trackInstantOrder = (orderId: string) =>\n getJson<InstantTrackingResponse>(\n `/api/mitra/v4/instant/tracking/${orderId}`,\n );\n","import {\n cancelExpressOrder,\n requestPickupV5,\n requestPickupV61,\n trackExpressOrder,\n} from \"./express\";\nimport {\n cancelInstantOrder,\n createInstantPickup,\n findNewInstantDriver,\n trackInstantOrder,\n} from \"./instant\";\n\nexport const order = {\n express: {\n track: trackExpressOrder,\n cancel: cancelExpressOrder,\n requestPickupV5,\n requestPickupV61,\n },\n instant: {\n create: createInstantPickup,\n findNewDriver: findNewInstantDriver,\n cancel: cancelInstantOrder,\n track: trackInstantOrder,\n },\n};\n","import type { PickupSchedulesResponse } from \"@/types/pickup-responses\";\nimport { postJson } from \"@/http/request\";\n\nexport const getPickupSchedules = () =>\n postJson<PickupSchedulesResponse>(\"/api/mitra/v2/schedules\");\n","import { getPickupSchedules } from \"./schedules\";\n\nexport const pickup = {\n schedules: getPickupSchedules,\n};\n","import type { GetPaymentResponse } from \"../../types/payment-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getPayment = (paymentId: string) =>\n postJson<GetPaymentResponse>(\"/api/mitra/v2/get_payment\", {\n payment_id: paymentId,\n });\n","import { getPayment } from \"./get-payment\";\n\nexport const payment = {\n getPayment,\n};\n","import type { CourierDetailResponse } from \"../../types/courier\";\nimport { postJson } from \"../../http/request\";\n\nexport const getCourierDetail = (courierCode: string) =>\n postJson<CourierDetailResponse>(\"/api/mitra/courier_services\", {\n courier_code: courierCode,\n });\n","import type { CourierGroupResponse } from \"../../types/courier\";\nimport { postJson } from \"../../http/request\";\n\nexport const getCourierGroups = () =>\n postJson<CourierGroupResponse>(\"/api/mitra/couriers_group\");\n","import type { CourierListResponse } from \"../../types/courier\";\nimport { postJson } from \"../../http/request\";\n\nexport const listCouriers = () =>\n postJson<CourierListResponse>(\"/api/mitra/couriers\");\n","import type { SetCourierPreferenceResponse } from \"../../types/courier\";\nimport { postJson } from \"../../http/request\";\n\nexport const setWhitelistServices = (services: string[]) =>\n postJson<SetCourierPreferenceResponse>(\n \"/api/mitra/v3/set_whitelist_services\",\n {\n services,\n },\n );\n","import { getCourierDetail } from \"./detail\";\nimport { getCourierGroups } from \"./group\";\nimport { listCouriers } from \"./list\";\nimport { setWhitelistServices } from \"./set-whitelist-services\";\n\nexport const courier = {\n list: listCouriers,\n group: getCourierGroups,\n detail: getCourierDetail,\n setWhitelistServices,\n};\n","import { address } from \"./address/index\";\nimport { coverageArea } from \"./coverage-area/index\";\nimport { order } from \"./order/index\";\nimport { pickup } from \"./pickup/index\";\nimport { payment } from \"./payment/index\";\nimport { courier } from \"./courier/index\";\n\nexport const services = {\n address,\n coverageArea,\n order,\n pickup,\n payment,\n courier,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"services.js","names":[],"sources":["../../src/config/api.ts","../../src/config/client.ts","../../src/http/request.ts","../../src/services/address/province.ts","../../src/services/address/city.ts","../../src/services/address/district.ts","../../src/services/address/sub-district.ts","../../src/services/address/district-by-name.ts","../../src/services/address/index.ts","../../src/services/coverage-area/pricing-express.ts","../../src/services/coverage-area/pricing-instant.ts","../../src/services/coverage-area/index.ts","../../src/services/order/express/cancel.ts","../../src/services/order/express/request-pickup.ts","../../src/services/order/express/track.ts","../../src/services/order/instant/cancel.ts","../../src/services/order/instant/create.ts","../../src/services/order/instant/find-new-driver.ts","../../src/services/order/instant/track.ts","../../src/services/order/index.ts","../../src/services/pickup/schedules.ts","../../src/services/pickup/index.ts","../../src/services/payment/get-payment.ts","../../src/services/payment/index.ts","../../src/services/courier/detail.ts","../../src/services/courier/group.ts","../../src/services/courier/list.ts","../../src/services/courier/set-whitelist-services.ts","../../src/services/courier/index.ts","../../src/services/index.ts"],"sourcesContent":["export enum KAEnv {\n SANDBOX = \"sandbox\",\n PRODUCTION = \"production\",\n}\n\nexport const KA_ENV_URL: Record<KAEnv, string> = {\n [KAEnv.SANDBOX]: \"https://tdev.kiriminaja.com\",\n [KAEnv.PRODUCTION]: \"https://client.kiriminaja.com\",\n};\n","import { KA_ENV_URL, KAEnv } from \"./api\";\n\nexport type FetchLike = (\n input: Parameters<typeof fetch>[0],\n init?: Parameters<typeof fetch>[1],\n) => ReturnType<typeof fetch>;\n\nexport type HeadersInitLike =\n | Record<string, string>\n | Array<[string, string]>\n | Parameters<typeof fetch>[1];\n\nexport type InitOptions = {\n env?: KAEnv;\n baseUrl?: string;\n apiKey?: string;\n fetch?: FetchLike;\n headers?: HeadersInitLike;\n};\n\nexport type ClientConfig = {\n env: KAEnv;\n baseUrl: string;\n apiKey?: string;\n fetch: FetchLike;\n headers?: HeadersInitLike;\n};\n\nlet singletonConfig: ClientConfig | undefined;\n\nexport const init = ({\n env = KAEnv.SANDBOX,\n baseUrl,\n apiKey,\n fetch: fetchImpl,\n headers,\n}: InitOptions = {}): ClientConfig => {\n const resolvedFetch = fetchImpl ?? (globalThis as Record<string, unknown>).fetch as FetchLike | undefined;\n if (!resolvedFetch) {\n throw new Error(\n \"Global fetch is not available. Provide Init({ fetch }) or use a runtime with fetch (Node 18+/Bun).\",\n );\n }\n\n const resolvedBaseUrl = baseUrl ?? KA_ENV_URL[env];\n singletonConfig = {\n env,\n baseUrl: resolvedBaseUrl,\n apiKey,\n fetch: resolvedFetch,\n headers,\n };\n\n return singletonConfig;\n};\n\nexport const getConfig = (): ClientConfig => {\n if (!singletonConfig) {\n throw new Error(\n \"KiriminAja SDK is not initialized. Call KiriminAja.init(), or use a framework adapter (e.g. defineKiriminAjaPlugin for h3/Nitro), or pass options directly to useKiriminAja().\",\n );\n }\n return singletonConfig;\n};\n","import { getConfig } from \"../config/client\";\n\ntype RequestMethod = \"GET\" | \"POST\" | \"DELETE\";\n\ntype RequestOptions = {\n method?: RequestMethod;\n query?: Record<string, string | number | boolean | undefined | null>;\n body?: unknown;\n headers?: Record<string, string>;\n};\n\nconst buildUrl = (path: string, baseUrl: string) => {\n const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n return new URL(normalizedPath, baseUrl);\n};\n\nexport const requestJson = async <T>(\n path: string,\n options: RequestOptions = {},\n): Promise<T> => {\n const config = getConfig();\n const url = buildUrl(path, config.baseUrl);\n\n if (options.query) {\n for (const [key, value] of Object.entries(options.query)) {\n if (value === undefined || value === null) continue;\n url.searchParams.set(key, String(value));\n }\n }\n\n const method: RequestMethod = options.method ?? \"POST\";\n const hasJsonBody =\n options.body !== undefined && method !== \"GET\" && method !== \"DELETE\";\n\n const headers = new Headers();\n headers.set(\"Accept\", \"application/json\");\n if (hasJsonBody) headers.set(\"Content-Type\", \"application/json\");\n if (config.apiKey) headers.set(\"Authorization\", `Bearer ${config.apiKey}`);\n\n if (config.headers) {\n new Headers(config.headers as any).forEach((value, key) => {\n headers.set(key, value);\n });\n }\n\n if (options.headers) {\n for (const [key, value] of Object.entries(options.headers)) {\n headers.set(key, value);\n }\n }\n\n const response = await config.fetch(url.toString(), {\n method,\n headers,\n ...(hasJsonBody ? { body: JSON.stringify(options.body) } : {}),\n });\n\n if (!response.ok) {\n throw new Error(\n `Request failed: ${response.status} ${response.statusText}`,\n );\n }\n\n return (await response.json()) as T;\n};\n\nexport const postJson = async <T>(\n path: string,\n body?: unknown,\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n): Promise<T> => {\n return requestJson<T>(path, { ...options, method: \"POST\", body });\n};\n\nexport const getJson = async <T>(\n path: string,\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n): Promise<T> => {\n return requestJson<T>(path, { ...options, method: \"GET\" });\n};\n\nexport const deleteJson = async <T>(\n path: string,\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n): Promise<T> => {\n return requestJson<T>(path, { ...options, method: \"DELETE\" });\n};\n","import type { ProvinceListResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getProvinces = () => {\n return postJson<ProvinceListResponse>(\"/api/mitra/province\");\n};\n","import type { CityListResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getCities = (provinsiId: number) => {\n return postJson<CityListResponse>(\"/api/mitra/city\", {\n provinsi_id: provinsiId,\n });\n};\n","import type { DistrictListResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getDistricts = (kabupatenId: number) => {\n return postJson<DistrictListResponse>(\"/api/mitra/kecamatan\", {\n kabupaten_id: kabupatenId,\n });\n};\n","import type { SubDistrictListResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getSubDistricts = (kecamatanId: number) => {\n return postJson<SubDistrictListResponse>(\"/api/mitra/kelurahan\", {\n kecamatan_id: kecamatanId,\n });\n};\n","import type { DistrictByNameResponse } from \"../../types/coverage-area-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getDistrictsByName = (search: string) => {\n return postJson<DistrictByNameResponse>(\n \"/api/mitra/v2/get_address_by_name\",\n {\n search,\n },\n );\n};\n","import { getProvinces } from \"./province\";\nimport { getCities } from \"./city\";\nimport { getDistricts } from \"./district\";\nimport { getSubDistricts } from \"./sub-district\";\nimport { getDistrictsByName } from \"./district-by-name\";\n\nexport const address = {\n provinces: getProvinces,\n cities: getCities,\n districts: getDistricts,\n subDistricts: getSubDistricts,\n districtsByName: getDistrictsByName,\n};\n","import type { KAResponse } from \"../../types/api-response\";\nimport { postJson } from \"../../http/request\";\n\nexport type PricingExpressPayload = {\n origin: number;\n destination: number;\n weight: number;\n item_value: string | number;\n insurance: number;\n courier: string[];\n};\n\nexport const getPricingExpress = <T = unknown>(\n payload: PricingExpressPayload,\n) => {\n return postJson<KAResponse<T>>(\"/api/mitra/v6.1/shipping_price\", payload);\n};\n","import type { KAResponse } from \"../../types/api-response\";\nimport { postJson } from \"../../http/request\";\nimport type { InstantService } from \"@/types/courier\";\n\nexport type PricingInstantPayload = {\n service: InstantService[];\n item_price: number;\n origin: {\n lat: number;\n long: number;\n address: string;\n };\n destination: {\n lat: number;\n long: number;\n address: string;\n };\n weight: number;\n vehicle: \"motor\" | \"mobil\";\n timezone: string;\n};\n\nexport const getPricingInstant = <T = unknown>(\n payload: PricingInstantPayload,\n) => {\n return postJson<KAResponse<T>>(\"/api/mitra/v4/instant/pricing\", payload);\n};\n","import { getPricingExpress } from \"./pricing-express\";\nimport { getPricingInstant } from \"./pricing-instant\";\nimport { address } from \"../address/index\";\n\nexport const coverageArea = {\n ...address,\n pricingExpress: getPricingExpress,\n pricingInstant: getPricingInstant,\n};\n","import type { CancelExpressOrderResponse } from \"../../../types/order-responses\";\nimport { requestJson } from \"../../../http/request\";\n\nexport const cancelExpressOrder = (awb: string, reason: string) =>\n requestJson<CancelExpressOrderResponse>(\"/api/mitra/v3/cancel_shipment\", {\n method: \"POST\",\n query: {\n awb,\n reason,\n },\n });\n","import type { KAResponse } from \"../../../types/api-response\";\nimport { postJson } from \"../../../http/request\";\n\nexport const requestPickup = (payload: unknown) =>\n postJson<KAResponse<unknown>>(\"/api/mitra/v6.1/request_pickup\", payload);\n","import type { ExpressTrackingResponse } from \"../../../types/order-responses\";\nimport { postJson } from \"../../../http/request\";\n\nexport const trackExpressOrder = (orderId: string) =>\n postJson<ExpressTrackingResponse>(\"/api/mitra/tracking\", {\n order_id: orderId,\n });\n","import type { CancelInstantOrderResponse } from \"../../../types/order-responses\";\nimport { deleteJson } from \"../../../http/request\";\n\nexport const cancelInstantOrder = (orderId: string) =>\n deleteJson<CancelInstantOrderResponse>(\n `/api/mitra/v4/instant/pickup/void/${orderId}`,\n );\n","import type { CreateInstantPickupResponse } from \"../../../types/order-responses\";\nimport { postJson } from \"../../../http/request\";\n\nexport const createInstantPickup = (payload: unknown) =>\n postJson<CreateInstantPickupResponse>(\n \"/api/mitra/v4/instant/pickup/request\",\n payload,\n );\n","import type { FindNewInstantDriverResponse } from \"../../../types/order-responses\";\nimport { postJson } from \"../../../http/request\";\n\nexport const findNewInstantDriver = (orderId: string) =>\n postJson<FindNewInstantDriverResponse>(\n \"/api/mitra/v4/instant/pickup/find-new-driver\",\n {\n order_id: orderId,\n },\n );\n","import type { InstantTrackingResponse } from \"../../../types/order-responses\";\nimport { getJson } from \"../../../http/request\";\n\nexport const trackInstantOrder = (orderId: string) =>\n getJson<InstantTrackingResponse>(\n `/api/mitra/v4/instant/tracking/${orderId}`,\n );\n","import {\n cancelExpressOrder,\n requestPickup,\n trackExpressOrder,\n} from \"./express\";\nimport {\n cancelInstantOrder,\n createInstantPickup,\n findNewInstantDriver,\n trackInstantOrder,\n} from \"./instant\";\n\nexport const order = {\n express: {\n track: trackExpressOrder,\n cancel: cancelExpressOrder,\n requestPickup,\n },\n instant: {\n create: createInstantPickup,\n findNewDriver: findNewInstantDriver,\n cancel: cancelInstantOrder,\n track: trackInstantOrder,\n },\n};\n","import type { PickupSchedulesResponse } from \"@/types/pickup-responses\";\nimport { postJson } from \"@/http/request\";\n\nexport const getPickupSchedules = () =>\n postJson<PickupSchedulesResponse>(\"/api/mitra/v2/schedules\");\n","import { getPickupSchedules } from \"./schedules\";\n\nexport const pickup = {\n schedules: getPickupSchedules,\n};\n","import type { GetPaymentResponse } from \"../../types/payment-responses\";\nimport { postJson } from \"../../http/request\";\n\nexport const getPayment = (paymentId: string) =>\n postJson<GetPaymentResponse>(\"/api/mitra/v2/get_payment\", {\n payment_id: paymentId,\n });\n","import { getPayment } from \"./get-payment\";\n\nexport const payment = {\n getPayment,\n};\n","import type { CourierDetailResponse } from \"../../types/courier\";\nimport { postJson } from \"../../http/request\";\n\nexport const getCourierDetail = (courierCode: string) =>\n postJson<CourierDetailResponse>(\"/api/mitra/courier_services\", {\n courier_code: courierCode,\n });\n","import type { CourierGroupResponse } from \"../../types/courier\";\nimport { postJson } from \"../../http/request\";\n\nexport const getCourierGroups = () =>\n postJson<CourierGroupResponse>(\"/api/mitra/couriers_group\");\n","import type { CourierListResponse } from \"../../types/courier\";\nimport { postJson } from \"../../http/request\";\n\nexport const listCouriers = () =>\n postJson<CourierListResponse>(\"/api/mitra/couriers\");\n","import type { SetCourierPreferenceResponse } from \"../../types/courier\";\nimport { postJson } from \"../../http/request\";\n\nexport const setWhitelistServices = (services: string[]) =>\n postJson<SetCourierPreferenceResponse>(\n \"/api/mitra/v3/set_whitelist_services\",\n {\n services,\n },\n );\n","import { getCourierDetail } from \"./detail\";\nimport { getCourierGroups } from \"./group\";\nimport { listCouriers } from \"./list\";\nimport { setWhitelistServices } from \"./set-whitelist-services\";\n\nexport const courier = {\n list: listCouriers,\n group: getCourierGroups,\n detail: getCourierDetail,\n setWhitelistServices,\n};\n","import { address } from \"./address/index\";\nimport { coverageArea } from \"./coverage-area/index\";\nimport { order } from \"./order/index\";\nimport { pickup } from \"./pickup/index\";\nimport { payment } from \"./payment/index\";\nimport { courier } from \"./courier/index\";\n\nexport const services = {\n address,\n coverageArea,\n order,\n pickup,\n payment,\n courier,\n};\n"],"mappings":"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"}
@@ -95,8 +95,8 @@ export declare const useKiriminAja: (options?: UseKiriminAjaOptions) => {
95
95
  districtsByName: (search: string) => Promise<import('../types/coverage-area-responses').DistrictByNameResponse>;
96
96
  };
97
97
  coverageArea: {
98
- pricingExpress: <T = unknown>(payload: import('../services/coverage-area/pricing-express').PricingExpressPayload) => Promise<import('../types/api-response').KAResponse<unknown>>;
99
- pricingInstant: <T = unknown>(payload: import('../services/coverage-area/pricing-instant').PricingInstantPayload) => Promise<import('../types/api-response').KAResponse<unknown>>;
98
+ pricingExpress: <T = unknown>(payload: import('../services/coverage-area/pricing-express').PricingExpressPayload) => Promise<import('../types/api-response').KAResponse<T>>;
99
+ pricingInstant: <T = unknown>(payload: import('../services/coverage-area/pricing-instant').PricingInstantPayload) => Promise<import('../types/api-response').KAResponse<T>>;
100
100
  provinces: () => Promise<import('../types/coverage-area-responses').ProvinceListResponse>;
101
101
  cities: (provinsiId: number) => Promise<import('../types/coverage-area-responses').CityListResponse>;
102
102
  districts: (kabupatenId: number) => Promise<import('../types/coverage-area-responses').DistrictListResponse>;
@@ -107,8 +107,7 @@ export declare const useKiriminAja: (options?: UseKiriminAjaOptions) => {
107
107
  express: {
108
108
  track: (orderId: string) => Promise<import('../types/order-responses').ExpressTrackingResponse>;
109
109
  cancel: (awb: string, reason: string) => Promise<import('../types/order-responses').CancelExpressOrderResponse>;
110
- requestPickupV5: (payload: unknown) => Promise<import('../types/api-response').KAResponse<unknown>>;
111
- requestPickupV61: (payload: unknown) => Promise<import('../types/api-response').KAResponse<unknown>>;
110
+ requestPickup: (payload: unknown) => Promise<import('../types/api-response').KAResponse<unknown>>;
112
111
  };
113
112
  instant: {
114
113
  create: (payload: unknown) => Promise<unknown>;
package/dist/index.d.ts CHANGED
@@ -9,8 +9,8 @@ declare const KiriminAja: {
9
9
  districtsByName: (search: string) => Promise<import('./types/coverage-area-responses').DistrictByNameResponse>;
10
10
  };
11
11
  coverageArea: {
12
- pricingExpress: <T = unknown>(payload: import('./services/coverage-area/pricing-express').PricingExpressPayload) => Promise<import('./types/api-response').KAResponse<unknown>>;
13
- pricingInstant: <T = unknown>(payload: import('./services/coverage-area/pricing-instant').PricingInstantPayload) => Promise<import('./types/api-response').KAResponse<unknown>>;
12
+ pricingExpress: <T = unknown>(payload: import('./services/coverage-area/pricing-express').PricingExpressPayload) => Promise<import('./types/api-response').KAResponse<T>>;
13
+ pricingInstant: <T = unknown>(payload: import('./services/coverage-area/pricing-instant').PricingInstantPayload) => Promise<import('./types/api-response').KAResponse<T>>;
14
14
  provinces: () => Promise<import('./types/coverage-area-responses').ProvinceListResponse>;
15
15
  cities: (provinsiId: number) => Promise<import('./types/coverage-area-responses').CityListResponse>;
16
16
  districts: (kabupatenId: number) => Promise<import('./types/coverage-area-responses').DistrictListResponse>;
@@ -21,8 +21,7 @@ declare const KiriminAja: {
21
21
  express: {
22
22
  track: (orderId: string) => Promise<import('./types/order-responses').ExpressTrackingResponse>;
23
23
  cancel: (awb: string, reason: string) => Promise<import('./types/order-responses').CancelExpressOrderResponse>;
24
- requestPickupV5: (payload: unknown) => Promise<import('./types/api-response').KAResponse<unknown>>;
25
- requestPickupV61: (payload: unknown) => Promise<import('./types/api-response').KAResponse<unknown>>;
24
+ requestPickup: (payload: unknown) => Promise<import('./types/api-response').KAResponse<unknown>>;
26
25
  };
27
26
  instant: {
28
27
  create: (payload: unknown) => Promise<unknown>;
@@ -1,6 +1,6 @@
1
1
  export declare const coverageArea: {
2
- pricingExpress: <T = unknown>(payload: import('./pricing-express').PricingExpressPayload) => Promise<import('../../types/api-response').KAResponse<unknown>>;
3
- pricingInstant: <T = unknown>(payload: import('./pricing-instant').PricingInstantPayload) => Promise<import('../../types/api-response').KAResponse<unknown>>;
2
+ pricingExpress: <T = unknown>(payload: import('./pricing-express').PricingExpressPayload) => Promise<import('../../types/api-response').KAResponse<T>>;
3
+ pricingInstant: <T = unknown>(payload: import('./pricing-instant').PricingInstantPayload) => Promise<import('../../types/api-response').KAResponse<T>>;
4
4
  provinces: () => Promise<import('../../types/coverage-area-responses').ProvinceListResponse>;
5
5
  cities: (provinsiId: number) => Promise<import('../../types/coverage-area-responses').CityListResponse>;
6
6
  districts: (kabupatenId: number) => Promise<import('../../types/coverage-area-responses').DistrictListResponse>;
@@ -7,4 +7,4 @@ export type PricingExpressPayload = {
7
7
  insurance: number;
8
8
  courier: string[];
9
9
  };
10
- export declare const getPricingExpress: <T = unknown>(payload: PricingExpressPayload) => Promise<KAResponse<unknown>>;
10
+ export declare const getPricingExpress: <T = unknown>(payload: PricingExpressPayload) => Promise<KAResponse<T>>;
@@ -1,6 +1,7 @@
1
1
  import { KAResponse } from '../../types/api-response';
2
+ import { InstantService } from '../../types/courier';
2
3
  export type PricingInstantPayload = {
3
- service: string[];
4
+ service: InstantService[];
4
5
  item_price: number;
5
6
  origin: {
6
7
  lat: number;
@@ -13,7 +14,7 @@ export type PricingInstantPayload = {
13
14
  address: string;
14
15
  };
15
16
  weight: number;
16
- vehicle: string;
17
+ vehicle: "motor" | "mobil";
17
18
  timezone: string;
18
19
  };
19
- export declare const getPricingInstant: <T = unknown>(payload: PricingInstantPayload) => Promise<KAResponse<unknown>>;
20
+ export declare const getPricingInstant: <T = unknown>(payload: PricingInstantPayload) => Promise<KAResponse<T>>;
@@ -7,8 +7,8 @@ export declare const services: {
7
7
  districtsByName: (search: string) => Promise<import('../types/coverage-area-responses').DistrictByNameResponse>;
8
8
  };
9
9
  coverageArea: {
10
- pricingExpress: <T = unknown>(payload: import('./coverage-area/pricing-express').PricingExpressPayload) => Promise<import('../types/api-response').KAResponse<unknown>>;
11
- pricingInstant: <T = unknown>(payload: import('./coverage-area/pricing-instant').PricingInstantPayload) => Promise<import('../types/api-response').KAResponse<unknown>>;
10
+ pricingExpress: <T = unknown>(payload: import('./coverage-area/pricing-express').PricingExpressPayload) => Promise<import('../types/api-response').KAResponse<T>>;
11
+ pricingInstant: <T = unknown>(payload: import('./coverage-area/pricing-instant').PricingInstantPayload) => Promise<import('../types/api-response').KAResponse<T>>;
12
12
  provinces: () => Promise<import('../types/coverage-area-responses').ProvinceListResponse>;
13
13
  cities: (provinsiId: number) => Promise<import('../types/coverage-area-responses').CityListResponse>;
14
14
  districts: (kabupatenId: number) => Promise<import('../types/coverage-area-responses').DistrictListResponse>;
@@ -19,8 +19,7 @@ export declare const services: {
19
19
  express: {
20
20
  track: (orderId: string) => Promise<import('../types/order-responses').ExpressTrackingResponse>;
21
21
  cancel: (awb: string, reason: string) => Promise<import('../types/order-responses').CancelExpressOrderResponse>;
22
- requestPickupV5: (payload: unknown) => Promise<import('../types/api-response').KAResponse<unknown>>;
23
- requestPickupV61: (payload: unknown) => Promise<import('../types/api-response').KAResponse<unknown>>;
22
+ requestPickup: (payload: unknown) => Promise<import('../types/api-response').KAResponse<unknown>>;
24
23
  };
25
24
  instant: {
26
25
  create: (payload: unknown) => Promise<unknown>;
@@ -0,0 +1,2 @@
1
+ import { KAResponse } from '../../../types/api-response';
2
+ export declare const requestPickup: (payload: unknown) => Promise<KAResponse<unknown>>;
@@ -1,4 +1,3 @@
1
1
  export { cancelExpressOrder } from './express/cancel';
2
- export { requestPickupV5 } from './express/request-pickup-v5';
3
- export { requestPickupV61 } from './express/request-pickup-v61';
2
+ export { requestPickup } from './express/request-pickup';
4
3
  export { trackExpressOrder } from './express/track';
@@ -2,8 +2,7 @@ export declare const order: {
2
2
  express: {
3
3
  track: (orderId: string) => Promise<import('../../types/order-responses').ExpressTrackingResponse>;
4
4
  cancel: (awb: string, reason: string) => Promise<import('../../types/order-responses').CancelExpressOrderResponse>;
5
- requestPickupV5: (payload: unknown) => Promise<import('../../types/api-response').KAResponse<unknown>>;
6
- requestPickupV61: (payload: unknown) => Promise<import('../../types/api-response').KAResponse<unknown>>;
5
+ requestPickup: (payload: unknown) => Promise<import('../../types/api-response').KAResponse<unknown>>;
7
6
  };
8
7
  instant: {
9
8
  create: (payload: unknown) => Promise<unknown>;
@@ -36,3 +36,8 @@ export type SetCourierPreferenceResponse = KAResponse<never> & {
36
36
  method: "set_whitelist_services";
37
37
  text: "Success to set";
38
38
  };
39
+ export declare enum InstantService {
40
+ GrabExpress = "grab_express",
41
+ GoSend = "gosend",
42
+ Borzo = "borzo"
43
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kiriminaja",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -1,2 +0,0 @@
1
- import { KAResponse } from '../../../types/api-response';
2
- export declare const requestPickupV5: (payload: unknown) => Promise<KAResponse<unknown>>;
@@ -1,2 +0,0 @@
1
- import { KAResponse } from '../../../types/api-response';
2
- export declare const requestPickupV61: (payload: unknown) => Promise<KAResponse<unknown>>;