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.
- Prijava za poslovni račun
- /api/b2b/v1/openapi.json: OpenAPI 3.1, oznaka B2B
- https://3dnaklik.si/api/b2b/v1: osnovni naslov, glava Authorization: Bearer 3dk_live_...
# 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
- /openapi.json — OpenAPI 3.1 specifikacija (tipizirane sheme, model napak)
- /.well-known/mcp/server-card.json — Kartica MCP strežnika
- /.well-known/api-catalog — Katalog API-jev (RFC 9727)
- /llms.txt — Povzetek strani za LLM-e
- /llms-full.txt — Celotna baza znanja za LLM-e
- /.well-known/acp.json — Agentic commerce podatki
- /api/b2b/v1/openapi.json — B2B API: OpenAPI 3.1, ključ bearer, oznaka B2B
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.