Preskoči na vsebino

3DnaKlik za razvijalce in AI agente

Vse, kar poganja takojšnjo ponudbo, je javen API brez ključa. Programsko pridobite točne cene 3D tiska iz pravega slicerja, ali pa AI asistentu prek našega MCP strežnika prepustite ponudbo in naročilo.

Hiter začetek — REST ponudba v enem klicu

Ocena iz volumna (brez datoteke). Id-je materialov in kakovosti vrne GET /api/config.

curl -X POST https://3dnaklik.si/api/slice \
  -H 'Content-Type: application/json' \
  -d '{"volume_cm3": 25, "material_id": "pla-basic-black", "quality_id": "standard"}'

MCP strežnik — ponudbe iz pravih datotek, za AI agente

Streamable-HTTP MCP končna točka na https://3dnaklik.si/mcp (brez avtentikacije). Orodje create_quote sprejme STL/3MF prek URL-ja ali base64, požene pravi slicer in vrne ceno ter predizpolnjeno povezavo za naročilo. Poleg tega: list_materials, get_service_info.

curl -X POST https://3dnaklik.si/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

B2B API za poslovne račune

Podjetja, ki naročajo redno, dobijo ključ API (bearer), ko odobrimo njihov poslovni račun: ponudbe iz lastnih datotek STL ali 3MF z dogovorjenim popustom na javno ceno, naročila, poslana neposredno njihovim strankam v nevtralni embalaži, in en račun na mesec za naročila, odposlana prejšnji mesec, plačljiv z bančnim nakazilom v dogovorjenem roku.

# 1. Price a model (kept for 48 hours). Material and quality default to your account settings; the ids come from GET /materials.
curl -s https://3dnaklik.si/api/b2b/v1/quotes \
  -H "Authorization: Bearer $B2B_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"file_url": "https://example.com/relief-1001.3mf", "file_name": "relief-1001.3mf", "quantity": 1}'

# 2. Order it, shipped to your customer. Put the quote_id from step 1 in items.
curl -s https://3dnaklik.si/api/b2b/v1/orders \
  -H "Authorization: Bearer $B2B_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: TG-1001" \
  -d '{"items": [{"quote_id": "q_..."}], "reference": "TG-1001", "recipient": {"name": "María López", "line1": "Calle de Alcalá 10", "postal_code": "28014", "city": "Madrid", "country": "ES", "phone": "+34 611 222 333"}}'

Kode napak

Vsaka napaka je RFC 9457 problem+json s stalno kodo; njen naslov type se konča s kodo in odpre njeno vrstico spodaj. Sporočila napak so v angleščini.

UNAUTHORIZED 401
Ključ API manjka, je napačen, neznan ali preklican.
ACCOUNT_PENDING 403
Poslovni račun še čaka na odobritev.
ACCOUNT_SUSPENDED 403
Poslovni račun je začasno ustavljen ali ni bil odobren.
NOT_FOUND 404
Tega naročila ali izpiska za vaše podjetje ni.
QUOTE_NOT_FOUND 404
Ponudba ne obstaja, je po 48 urah potekla ali pripada drugemu podjetju.
IDEMPOTENCY_KEY_REQUIRED 400
POST /orders potrebuje glavo Idempotency-Key.
IDEMPOTENCY_IN_PROGRESS 409
Zahteva s tem ključem Idempotency-Key še teče; poskusite znova po Retry-After.
DUPLICATE_REFERENCE 409
Naročilo s tem sklicem že obstaja (order_number); za novo pošljite allow_duplicate_reference.
CONCURRENT_ORDER 409
Drugo naročilo vašega podjetja je v obdelavi; poskusite znova po Retry-After.
FILE_TOO_LARGE 413
Datoteka modela presega največjo velikost (max_bytes).
VALIDATION_FAILED 422
Polje ni veljavno; errors[] vsako navede s kazalcem JSON.
IDEMPOTENCY_KEY_REUSED 422
Ta ključ Idempotency-Key je bil že uporabljen z drugačno vsebino; order_number navede naročilo, ki ga je ustvaril.
UNSUPPORTED_FILE_TYPE 422
Sprejmemo samo datoteke .stl in .3mf.
FILE_FETCH_FAILED 422
file_url ni bilo mogoče prenesti (samo https in javni naslov).
MODEL_TOO_LARGE 422
Model ne gre v prostor za tisk. Nikoli ga ne pomanjšamo sami; max_scale, če je podan, pove, koliko ga pomanjšate.
MATERIAL_UNAVAILABLE 422
Neznan ali izklopljen material; glejte GET /materials.
TOO_MANY_COLOURS 422
Več barv, kot jih dovoli max_colours iz GET /materials.
COUNTRY_NOT_SUPPORTED 422
V to državo ne pošiljamo z GLS.
ORDER_LIMIT_EXCEEDED 422
Naročilo presega omejitev (kosov na postavko, kosov na naročilo ali znesek za vaše podjetje); limit_code pove, katero.
OPEN_BALANCE_LIMIT 402
Naročilo bi preseglo limit odprtega stanja (glejte available_cents).
STATEMENT_OVERDUE 402
Izpisek ni plačan 30 dni po datumu računa oziroma do roka plačila, če je ta poznejši; naročanje se nadaljuje, ko je plačan.
RATE_LIMITED 429
Preveč zahtev; počakajte toliko sekund, kot jih navaja Retry-After.
SLICER_BUSY 503
Rezalnik je zaseden; poskusite znova po Retry-After.
SLICER_UNAVAILABLE 503
Izračun cene trenutno ni na voljo; poskusite pozneje.
INVOICE_UNAVAILABLE 503
PDF računa trenutno ni na voljo; poskusite znova po Retry-After.

Strojno berljivi viri

Napake, omejitve, verzioniranje

Napake so JSON — RFC 9457 problem+json s strojno berljivo kodo in namigom (starejše končne točke vrnejo {"error": "..."}). Neznane /api/* poti vrnejo JSON 404, nikoli HTML.

Odgovori nosijo draft-RFC glavi RateLimit / RateLimit-Policy (npr. 30 zahtev/min na /api/slice); 429 doda Retry-After — prosimo, upoštevajte.

Verzioniranje: API se znotraj glavne različice samo dopolnjuje. Nezdružljive spremembe bi izšle pod /v2 z vsaj 6 meseci prekrivanja, napovedane z glavama Deprecation/Sunset in obvestilom tukaj. Danes ni nič opuščeno.

Vprašanja?

Pišite na info@3dnaklik.si — integracije, višje omejitve in B2B avtomatizacija so dobrodošle.