1.0.12 • Published 10 months ago

cdek v1.0.12

Weekly downloads
-
License
MIT
Repository
github
Last release
10 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

10 months ago

1.0.12

10 months ago

0.1.10

11 months ago

1.0.10

11 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