Skip to main content
Home

Built and signed on GitHub Actions

This is fully-typed simple wrapper for CDEK REST api v2. It covers almost all api structure pretty precise. Use official docs to read about methods.

This package works with Node.js, Deno, Bun
This package works with Node.js
This package works with Deno
This package works with Bun
JSR Score
76%
Published
7 months ago (1.0.12)

CDEK API client

npm deno module JSR dependencies license

This is fully-typed simple wrapper for CDEK REST api v2. It covers almost all api structure pretty precise. Use official docs to read about methods.

Installation

For Node.js

npm i cdek
npx jsr add @shevernitskiy/cdek

For Deno

deno add @shevernitskiy/cdek

Usage

Example for Deno.

import { ApiError, Cdek, HttpError } from "https://deno.land/x/cdek@1.0.9/mod.ts";

const client = new Cdek({
  account: "EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI",
  password: "PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG",
  url_base: "https://api.edu.cdek.ru/v2", // forced to use testing endpoint in this case
});

try {
  const data = await client.getRegions({ country_codes: ["TH"], size: 1 });
  console.log(data);

  const data2 = await client.getOrderByUUID("72753033-1cf5-447c-a420-c29f4b488ac6");
  console.log(data2);
} catch (err) {
  if (err instanceof ApiError) { // returned in case of Api Error like invalid data, contains api message
    console.error(err.response);
  } else if (err instanceof HttpError) { // returned in case of method not found
    console.error(err);
  } else {
    console.error("Unknown Error", err);
  }
}

Webhook

You could handle incoming webhooks.

import { Cdek } from "https://deno.land/x/cdek@v1.0.4/mod.ts";

const client = new Cdek(...);

client.on("ORDER_STATUS", (ctx) => console.log(ctx.attributes.code));

Deno.serve(client.webhookHandler(), { port: 6767 });

Contribution

Pull request, issues and feedback are very welcome. Code style is formatted with deno fmt.

License

Copyright 2023, shevernitskiy. MIT license.

Built and signed on
GitHub Actions

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@shevernitskiy/cdek

Import symbol

import * as cdek from "@shevernitskiy/cdek";
or

Import directly with a jsr specifier

import * as cdek from "jsr:@shevernitskiy/cdek";

Add Package

pnpm i jsr:@shevernitskiy/cdek
or (using pnpm 10.8 or older)
pnpm dlx jsr add @shevernitskiy/cdek

Import symbol

import * as cdek from "@shevernitskiy/cdek";

Add Package

yarn add jsr:@shevernitskiy/cdek
or (using Yarn 4.8 or older)
yarn dlx jsr add @shevernitskiy/cdek

Import symbol

import * as cdek from "@shevernitskiy/cdek";

Add Package

npx jsr add @shevernitskiy/cdek

Import symbol

import * as cdek from "@shevernitskiy/cdek";

Add Package

bunx jsr add @shevernitskiy/cdek

Import symbol

import * as cdek from "@shevernitskiy/cdek";