Repository navigation
Releases: developing-off/dz-delivery
Release list
v0.1.12 — Yalidine listParcels and label URLs
Added
- Yalidine
listParcels(GET /parcels/, ≤ 1000 per page), in TypeScript and PHP:keyword→tracking,orderId→order_id;statusandupdatedSince(date_last_status) filtered client-side. It used to throwNOT_SUPPORTED. Checked live (read-only). Parcel.labelUrl(optional): the shipping label (bordereau) URL when the carrier returns it with the parcel. Filled by Yalidine oncreateParcel,trackandlistParcels(itslabelfield), in TypeScript and PHP (Parcel::$labelUrl, last constructor argument).
Changed
docs/PROVIDERS.md: live checks of 2026-11-01 on ZRExpress and Ecotrack (Anderson): create → track → cancel; Yalidine read-only, with its error body format now confirmed.
Upgrading
Additive release: Yalidine listParcels no longer throws NOT_SUPPORTED, and Parcel.labelUrl is a new optional field (PHP: last constructor argument of Parcel, existing calls unchanged). ^0.1.x (npm / Composer) picks it up.
Install
npm install @dz-delivery/core # TypeScript / Node.js
composer require dz-delivery/sdk # PHP / Laravel📖 Docs: https://developing-off.github.io/dz-delivery/ · Guide: Yalidine
v0.1.11 — Maystro track, list, cancel and PDF labels
Added
- Maystro:
track(order + status history fromhistory_order),listParcels(GET /api/stores/orders/, 20 per page,status/orderId/keyword/updatedSincefiltered client-side) andcancelParcel(PATCH /api/shared/status/{id}/, status50), in TypeScript and PHP.trackandcancelParceltake the order id (Parcel.id) or the tracking number (the orderdisplay_id). They used to throwNOT_SUPPORTED: these endpoints are in Maystro's docs. Checked live on a test account (create → track → cancel → track, list, unknown references). - Maystro extra
getLabels(references)onMaystroProvider: the shipping labels (bordereaux) of up to 100 orders as one PDF (starter_bordureau, by tracking number or by order id), withlabelCount; no order found →NOT_FOUND. Checked live. HttpClientcan return a binary body:responseType: 'binary'(TS) andrequestBinary()(PHP).- README: feature matrix (which function each carrier supports).
Upgrading
Additive release: Maystro's track, listParcels and cancelParcel no longer throw NOT_SUPPORTED; everything else behaves as before. ^0.1.x (npm / Composer) picks it up.
Install
npm install @dz-delivery/core # TypeScript / Node.js
composer require dz-delivery/sdk # PHP / Laravel📖 Docs: https://developing-off.github.io/dz-delivery/ · Guide: Maystro
v0.1.10 — MDM Express and Elogistia
Added
- MDM Express provider (
mdm) in TypeScript and PHP, built from MDM's OpenAPI spec: create (products from the MDM catalog,storeId), track, fees (calculate-fees), wilayas, communes, stop desks (partner offices),listParcels(server-sidestatus/updatedSincefilters) and health check.cancelParcelthrowsNOT_SUPPORTED. Checked live, read-only. Seedocs/PROVIDERS.md. - Elogistia provider (
elogistia) in TypeScript and PHP: create, track, fees, wilayas, communes and health check;getStopDesks,listParcelsandcancelParcelthrowNOT_SUPPORTED. Elogistia publishes no docs: endpoints follow the legacy Confirmation-api, checked live (read-only). Seedocs/PROVIDERS.md. - Guide pages
mdm/andelogistia/on the docs site; MDM and Elogistia logos in the READMEs.
Upgrading
Additive release: existing providers and methods behave as before. ^0.1.x (npm / Composer) picks it up.
Install
npm install @dz-delivery/core # TypeScript / Node.js
composer require dz-delivery/sdk # PHP / Laravel📖 Docs: https://developing-off.github.io/dz-delivery/ · New guides: MDM Express · Elogistia
v0.1.9 — NoEST and E-com Delivery
Added
- NoEST provider (
noest) in TypeScript and PHP: create (optionalautoValidate), track, fees, wilayas, communes, stop desks (stations), cancel (orders not validated yet) and health check.listParcelsthrowsNOT_SUPPORTED. Built from the NOEST Public API docs v2.3 and checked against live responses (reads, unknown tracking, and the error bodies of create / validate / delete); creation itself could not be tried, the test account being suspended. Seedocs/PROVIDERS.md. - Spelling-tolerant commune matching for NoEST (
Bab Ezzouar→ NOEST'sBab Azzouar): exported helperslooseNameKey/findLocationLoosely(TS) andText::looseKey/Text::findLoosely(PHP). Only used after the exact id / name lookup fails, and only for an unambiguous match. - E-com Delivery provider (
ecom, API v2) in TypeScript and PHP: create (optionalautoValidate→confirmee), track, fees, wilayas, communes (deliverable only), stop desks,listParcels(GET /colis,updatedSinceviatype_date=action), cancel (parcels still "En Préparation") and health check. Seedocs/PROVIDERS.md. Checked live on a test account: reads, unvalidated create (home + stop desk) then delete, and error bodies; live-only statesRécupérer(payment collected →delivered),Retour Fournisseur/Retour Stock(→returned) are mapped, and history notes keep the previous status.
Changed
- Composer metadata:
authorsfilled in. - READMEs: logos of the supported carriers; NoEST and E-com added to the package descriptions.
- NoEST and E-com reject a non-
httpsbaseUrl(VALIDATION_ERROR), like Ecotrack. .env.exampleanddocs/CONTRACT.mdlist the NoEST and E-com credentials.
Upgrading from 0.1.8
Additive release: existing providers and methods behave as before. ^0.1.8 (npm / Composer) picks it up.
Install
npm install @dz-delivery/core # TypeScript / Node.js
composer require dz-delivery/sdk # PHP / Laravel📖 Docs: https://developing-off.github.io/dz-delivery/ · New guides: NoEST · E-com Delivery
v0.1.8 — docs site, carrier guides, CI
Changed
- npm / Composer metadata: richer description and keywords (French + English), homepage now points to the docs site.
- READMEs: badges, install for both languages, FAQ; removed outdated "not published yet" notes (the packages are on npm and Packagist).
Added
- Docs site: one guide per carrier (Yalidine / GuepEx, ZRExpress, Maystro, Ecotrack), FAQ,
sitemap.xml, Open Graph image and structured data. - CI workflow running the TypeScript (Node 18 / 20 / 22) and PHP (8.2 / 8.3 / 8.4) test suites.
Fixed
- ZRExpress webhook test fixture no longer stores a
whsec_-prefixed fake key, which secret scanners flagged as a leaked Stripe secret.
Install
npm install @dz-delivery/core # TypeScript / Node.js
composer require dz-delivery/sdk # PHP / Laravel