1.0.12 • Published 8 months ago

cdek v1.0.12

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

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.

1.0.11

8 months ago

1.0.12

8 months ago

0.1.10

9 months ago

1.0.10

9 months ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago