Verdmarket
Teavitused

Tere tulemast Verdmarketisse!

Meil on hea meel teid oma platvormil tervitada! Looge konto, et pääseda ligi täielikule B2B kataloogile. Uutele kasutajatele, kes registreeruvad aprillis — eritingimused komisjonitasudele!

Registreeru

Verdmarketi tarnija API

REST API toodete, laoseisu, hindade ja tellimuste programmiliseks haldamiseks.

Baas-URL

https://www.verdmarket.com.mature-black-wombat.65-108-70-81.cpanel.site/api/v1/supplier

Saadaolevad lõpp-punktid

Meetod Lõpp-punkt Kirjeldus
GET/productsToodete nimekiri
GET/products/{id}Toote üksikasjad
POST/productsLoo toode
POST/products/{id}Uuenda toodet
POST/products/{id}/deleteKustuta toode
GET/products/{id}/imagesToote piltide loend
POST/products/{id}/imagesPiltide lisamine URL kaudu
POST/products/{id}/images/{imageId}/deletePildi kustutamine
POST/products/{id}/images/{imageId}/primaryPõhipildi määramine
POST/stockHulgilaoseisu uuendamine
POST/pricesHulgihinnamuutus
GET/ordersTellimuste nimekiri
GET/orders/{id}Tellimuse üksikasjad
POST/orders/{id}/statusUuenda tellimuse olekut
GET/categoriesKategooriate nimekiri

Autentimine

Kõik API päringud nõuavad Bearer žetooni Authorization päises.

Looge oma API võti jaotises Tarnija paneel → Poe profiil → API võtmed.

Authorization: Bearer YOUR_API_KEY
Tähtis: API võtit kuvatakse ainult üks kord loomisel. Hoidke seda turvaliselt. Võtmed on meie serverites räsitud — me ei saa neid taastada. Kaotuse korral tühistage vana ja looge uus.

Päringupiirangud

Vaikimisi: 1000 päringut tunnis API võtme kohta.

Piirangu teave tagastatakse vastuse päistes:

PäisKirjeldus
X-RateLimit-LimitMaksimaalne päringute arv tunnis
X-RateLimit-RemainingJärelejäänud päringud praeguses aknas
X-RateLimit-ResetUnixi ajatempel akna lähtestamiseks
Retry-AfterSekundid uuesti proovimiseni (ainult 429 puhul)

Vastuse vorming

Kõik vastused on JSON-vormingus. Edukad vastused:

{
  "success": true,
  "data": { ... }
}

Veavastused:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Name is required."
  }
}

Tooted

GET /products

Teie toodete nimekiri leheküljenduse ja filtreerimisega.

Päringuparameetrid

ParameeterTüüpKirjeldus
pageintLehekülje number (vaikimisi: 1)
per_pageintElemente lehel (maks: 100, vaikimisi: 20)
statusstringFilter: active, inactive, pending
searchstringOtsi nime või SKU järgi

Näidisvastus

{
  "success": true,
  "data": {
    "products": [
      {
        "id": 42,
        "name": "Red Roses Premium",
        "sku": "ROSE-RED-001",
        "type": "flower",
        "base_price": 2.50,
        "unit": "stem",
        "stock_qty": 500,
        "stock_status": "in_stock",
        "is_active": true,
        "is_approved": true,
        "category": { "id": 3, "name": "Roses" },
        "primary_image": "/uploads/products/rose-red.jpg"
      }
    ],
    "pagination": {
      "current_page": 1,
      "total_pages": 5,
      "total_items": 94,
      "per_page": 20
    }
  }
}
GET /products/{id}

Ühe toote hankimine koos piltide ja variantidega.

POST /products

Uue toote loomine. Uued tooted vajavad administraatori kinnitust enne kataloogi ilmumist.

Päringu sisu (JSON)

VäliTüüpKohustuslikKirjeldus
namestring*Toote nimi
category_idint*Kategooria ID
base_pricefloat*Hind EUR-ides
unitstring*vars, kimp, kast, pakk, tükk, kilogramm, meeter, rull
typestringflower (vaikimisi) või supply
descriptionstringToote kirjeldus
skustringUnikaalne SKU (kontrollitakse duplikaate)
stock_qtyintLaokogus (vaikimisi: 0)
min_order_qtyintMinimaalne tellimiskogus (vaikimisi: 1)
colorstringToote värvus
stem_lengthintVarre pikkus cm-ides
country_of_originstringPäritolumaa
vat_ratefloatKäibemaksu määr %-des (vaikimisi: 21)
image_urlstringPildi URL(id). Toetab jpg, png, webp. Mitu URL-i semikooloniga (;) eraldatuna. Max 10 pilti toote kohta.
POST /products/{id}

Olemasoleva toote uuendamine. Saatke ainult väljad, mida soovite muuta (osaline uuendamine).

POST /products/{id}/delete

Toote pehme kustutamine. Päringu sisu pole nõutav.

Tootepildid

Piltide piirangud: Max 10 pilti toote kohta. Vormingud: JPEG, PNG, WebP. Max failisuurus: 5 MB pildi kohta. Pildid laaditakse alla antud URL-idelt — server laadib need automaatselt.
GET /products/{id}/images

Toote kõikide piltide päring. Tagastab URL-id ja põhipildi märgendi.

Näidisvastus

{
  "success": true,
  "data": {
    "images": [
      {
        "id": 1,
        "url": "/uploads/products/abc123.jpg",
        "thumbnail_url": "/uploads/products/thumb_abc123.jpg",
        "is_primary": true
      },
      {
        "id": 2,
        "url": "/uploads/products/def456.jpg",
        "thumbnail_url": "/uploads/products/thumb_def456.jpg",
        "is_primary": false
      }
    ]
  }
}
POST /products/{id}/images

Piltide lisamine URL kaudu. Server laadib alla, kontrollib (jpg/png/webp, max 5 MB) ja loob automaatselt pisipildid. Kasutage mitme URL-i eraldamiseks semikoolonit.

Päringu sisu (JSON)

VäliTüüpKohustuslikKirjeldus
image_urlstring*Pildi URL(id). Toetab jpg, png, webp. Mitu URL-i semikooloniga (;) eraldatuna. Max 10 pilti toote kohta.

Päringu sisu

{
  "image_url": "https://example.com/images/rose.jpg;https://example.com/images/rose-2.jpg"
}
POST /products/{id}/images/{imageId}/delete

Tootepildi kustutamine. Fail eemaldatakse serverist. Kui kustutatud pilt oli põhipilt, saab automaatselt järgmine pilt põhipildiks.

POST /products/{id}/images/{imageId}/primary

Pildi määramine põhipildiks (peamine). Põhipilti kuvatakse kataloogiloendites ja otsingutulemustes.

Hulgilaoseisu uuendamine

POST /stock

Laokoguste uuendamine mitmele tootele korraga. Tuvastage tooted product_id või sku järgi. Maks 500 elementi päringu kohta.

Päringu sisu

{
  "items": [
    { "product_id": 42, "stock_qty": 500 },
    { "sku": "ROSE-RED-001", "stock_qty": 250 },
    { "sku": "LILY-WHT-003", "stock_qty": 0 }
  ]
}

Vastus

{
  "success": true,
  "data": {
    "updated": 2,
    "failed": 1,
    "errors": [
      { "index": 2, "sku": "LILY-WHT-003", "error": "Product not found" }
    ]
  }
}

Hulgihinnamuutus

POST /prices

Hindade uuendamine mitmele tootele. Sama vorming nagu laoseisu uuendamine, kuid base_price väljaga. Maks 500 elementi.

Päringu sisu

{
  "items": [
    { "product_id": 42, "base_price": 2.75 },
    { "sku": "ROSE-RED-001", "base_price": 3.10 }
  ]
}

Tellimused

GET /orders

Teie tellimuste gruppide nimekiri (tarnijakohased tellimuse osad).

Päringuparameetrid

ParameeterTüüpKirjeldus
pageintLehekülje number
per_pageintElemente lehel (maks 100)
statusstringpending, confirmed, processing, shipped, delivered, completed, cancelled
GET /orders/{id}

Tellimuse täielikud üksikasjad, sealhulgas elemendid, klienditeave ja olekute ajalugu.

POST /orders/{id}/status

Tellimuse oleku uuendamine. Lubatud on ainult kehtivad üleminekud:

AlatesLubatud üleminekud
pendingconfirmed, cancelled
confirmedprocessing, cancelled
processingshipped, cancelled
shippeddelivered

Päringu sisu

{
  "status": "confirmed",
  "comment": "Order confirmed, preparing for shipment"
}

Kategooriad

GET /categories

Kõigi aktiivsete kategooriate nimekiri. Tagastab lame nimekirja ülemviidetega.

Näidisvastus

{
  "success": true,
  "data": {
    "categories": [
      { "id": 1, "name": "Flowers", "slug": "flowers", "parent_id": null, "type": "flower" },
      { "id": 3, "name": "Roses", "slug": "roses", "parent_id": 1, "type": "flower" }
    ]
  }
}

Veakoodid

HTTPKoodKirjeldus
401UNAUTHORIZEDPuuduv või kehtetu API võti
403FORBIDDENVõti tühistatud või tarnija kinnitamata
404NOT_FOUNDRessurssi ei leitud
422VALIDATION_ERRORKehtetud sisendandmed
429RATE_LIMITEDPäringupiirang ületatud
500SERVER_ERRORSisemine serveri viga

Koodinäited

Toodete nimekiri

curl -X GET "https://www.verdmarket.com.mature-black-wombat.65-108-70-81.cpanel.site/api/v1/supplier/products?page=1&per_page=10" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Toote loomine

curl -X POST "https://www.verdmarket.com.mature-black-wombat.65-108-70-81.cpanel.site/api/v1/supplier/products" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Red Roses Premium",
    "category_id": 3,
    "base_price": 2.50,
    "unit": "stem",
    "stock_qty": 500,
    "sku": "ROSE-RED-001",
    "color": "Red",
    "stem_length": 60,
    "country_of_origin": "Netherlands",
    "image_url": "https://example.com/images/rose-red.jpg"
  }'

Tootepiltide lisamine

curl -X POST "https://www.verdmarket.com.mature-black-wombat.65-108-70-81.cpanel.site/api/v1/supplier/products/42/images" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://example.com/img/photo1.jpg;https://example.com/img/photo2.jpg"
  }'

Hulgilaoseisu uuendamine

curl -X POST "https://www.verdmarket.com.mature-black-wombat.65-108-70-81.cpanel.site/api/v1/supplier/stock" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {"sku": "ROSE-RED-001", "stock_qty": 500},
      {"sku": "LILY-WHT-003", "stock_qty": 200}
    ]
  }'

PHP näide

<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.verdmarket.com.mature-black-wombat.65-108-70-81.cpanel.site/api/v1/supplier';

// List products
$ch = curl_init("$baseUrl/products?page=1&per_page=10");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $apiKey",
        "Accept: application/json",
    ],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

// Bulk stock update
$ch = curl_init("$baseUrl/stock");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode([
        'items' => [
            ['sku' => 'ROSE-RED-001', 'stock_qty' => 500],
            ['sku' => 'LILY-WHT-003', 'stock_qty' => 200],
        ],
    ]),
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $apiKey",
        "Content-Type: application/json",
    ],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

Pythoni näide

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://www.verdmarket.com.mature-black-wombat.65-108-70-81.cpanel.site/api/v1/supplier"
headers = {"Authorization": f"Bearer {API_KEY}"}

# List products
resp = requests.get(f"{BASE_URL}/products", headers=headers,
                    params={"page": 1, "per_page": 10})
products = resp.json()

# Bulk stock update
resp = requests.post(f"{BASE_URL}/stock", headers=headers,
                     json={"items": [
                         {"sku": "ROSE-RED-001", "stock_qty": 500},
                         {"sku": "LILY-WHT-003", "stock_qty": 200},
                     ]})
result = resp.json()

# Update order status
resp = requests.post(f"{BASE_URL}/orders/15/status", headers=headers,
                     json={"status": "confirmed",
                           "comment": "Ready for shipment"})
print(resp.json())

Küpsiste seaded

Kasutame küpsiseid teie kogemuse parandamiseks. Lisateavet leiate meie Privaatsuspoliitikast.

Kohanda

Vajalikud

Vajalikud veebisaidi toimimiseks. Ei saa keelata.