შინაარსზე გადასვლა

ტერმინები

რა არის API (Application Programming Interface)?

ვრცლად

API (Application Programming Interface) — ეს არის წინასწარ განსაზღვრული კონტრაქტი, რომელიც აღწერს თუ როგორ უნდა იურთიერთობდნენ ორი პროგრამა. ყოველი თანამედროვე ციფრული აპლიკაცია API-ების ქსელია: ვებსაიტი → backend API → database; mobile app → REST API → microservices; payment form → Stripe API → bank settlement. 2026 წელს ProgrammableWeb-ის სტატისტიკით 51,000+ public API რეგისტრირდა.

API-ის ძირითადი არქიტექტურული პატერნები: (1) REST (Representational State Transfer) — Roy Fielding-ის 2000 წლის PhD thesis-ი; HTTP methods (GET, POST, PUT, PATCH, DELETE) + URL paths (`/users/123`); JSON response. ყველაზე გავრცელებული 2026-ში — 80%+ public API-ი. დადებითი — მარტივი, cacheable, stateless. უარყოფითი — over-fetching (unused fields), under-fetching (multiple calls საჭირო).

(2) GraphQL — Facebook (2012, open-sourced 2015); single endpoint, client declares fields it needs. Query language: `query { user(id: 123) { name email posts { title } } }`. Solves over/under-fetching. გამოიყენება GitHub API v4, Shopify Storefront API. Trade-off — caching უფრო რთული, learning curve, server-ზე resolver complexity.

(3) gRPC — Google (2015, open-sourced 2016); HTTP/2 + Protocol Buffers (binary, smaller payload). 7-10× faster than REST. მაღალი performance microservices-ის შიდა კომუნიკაციისთვის (Netflix, Uber). ნაკლები suitable browser-ისთვის (no native support, gRPC-Web აუცილებელია).

(4) WebSockets — bidirectional persistent connection. Real-time use cases: chat (WhatsApp Web, Slack), live dashboards, collaborative editing (Figma, Google Docs), trading platforms. Server-Sent Events (SSE) — alternative one-way (server → client) push-ისთვის (notifications, live feeds).

(5) Webhooks — "reverse API" — სერვერი მომხმარებელს უსვრის event-ის დროს. Payment webhook (Stripe charge.succeeded → webhook URL → POST /api/webhooks/stripe). Standard HTTP POST + JSON payload + HMAC signature verification.

API authentication 2026: (1) API Keys — მარტივი, header-ში გადაცემა (`Authorization: Bearer XXX`); გავრცელებული server-to-server-ისთვის; (2) OAuth 2.0 — three-legged flow user authorization-ისთვის; Google, Facebook, GitHub login; (3) JWT (JSON Web Tokens) — stateless tokens, RFC 7519; iss, sub, exp claims signed HMAC ან RSA-ით; Auth.js / NextAuth.js იყენებს default-ად; (4) mTLS (mutual TLS) — client + server certificates; high-security (banking, healthcare); (5) HMAC signatures — webhooks-ისთვის (Stripe, GitHub).

rate limiting & best practices: (1) `429 Too Many Requests` რასპონსი limit-ის გადაცემისას; (2) `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` headers; (3) token bucket ან leaky bucket algorithm; (4) Redis ან Upstash backed (Craftwebstudio იყენებს Upstash @ms 100 req/მინ); (5) versioning (`/v1/users`, `/v2/users` ან Accept-Version header); (6) pagination — cursor-based ან offset-based; (7) error handling — RFC 7807 Problem Details JSON.

ქართული market-ზე საინტერესო public API-ები: (1) BoG API (https://api.bog.ge) — banking, accounts, transfers, e-commerce; (2) TBC Open Banking — PSD2 compatible aggregator API; (3) RS.ge — საქართველოს შემოსავლების სამსახური, invoices automation; (4) e-Georgia ID API — government auth; (5) Crystal Capital — credit scoring; (6) Tegeta delivery API — last-mile logistics; (7) Bolt.eu — ride-hailing webhook API. Craftwebstudio-მ 2024-2026-ში 12 client integration-ი ავაშენა ქართული Bank-ებთან.

tools & ecosystem: (1) Postman ($0-$15/mo) — API design + testing standard; (2) Insomnia (free) — Postman alternative; (3) OpenAPI/Swagger — REST API specification format; (4) Stoplight, Redocly — API documentation generators; (5) Hoppscotch (open-source Postman alternative); (6) Zapier, Make (low-code API integration). Craftwebstudio-ს client API documentation gen-ი — Redocly Cloud + GitHub Actions deploy.

მაგალითები

  • 1REST API სრული მაგალითი: GET https://api.craftwebstudio.ge/v1/services/web-development → JSON { id, slug, price, ... }
  • 2GraphQL query: query { post(slug: "geo-vs-seo") { title body author { name } } } — single round-trip-ში 4 entity
  • 3Stripe webhook handler მაგალითი: app/api/webhooks/stripe/route.ts + HMAC verification + raw body parsing
  • 4Rate limit headers: X-RateLimit-Limit: 100 / X-RateLimit-Remaining: 47 / X-RateLimit-Reset: 1714148400
  • 5OpenAPI 3.1 spec example: openapi.yaml + Redoc render + GitHub Actions auto-deploy docs.craftwebstudio.ge-ზე
  • 6BoG API integration (Craftwebstudio 2026): client_id + client_secret OAuth → /v1/payments/orders → callback webhook

დაკავშირებული სერვისები

ხშირად დასმული კითხვები

REST vs GraphQL — რომელი უკეთესია?

REST simpler — public API, simple CRUD-ისთვის. GraphQL — complex client requirements, multiple data sources, mobile-ზე bandwidth optimization. 2026: 70% REST, 30% GraphQL.

API rate limiting მნიშვნელოვანია?

Critical — DDoS prevention + abuse blocking. Standard: 100 req/min per IP, 1000/hour per token. ქართული hosting-ისთვის Cloudflare rate limit ($5/mo) ერთი best ROI investment.

API authentication რა მეთოდი?

JWT (stateless) — most common 2026. OAuth 2.0 — third-party integrations. API key — internal tools. Session cookies — same-origin web apps.

გინდა უფასო კონსულტაცია?

დაგვიკავშირდი — 24 საათის განმავლობაში დაგიბრუნებთ საპასუხო წერილს პროექტის შეფასებით.

ახლა რთავსCraftwebstudio Mix