API શું છે? એપ builders માટે સરળ માર્ગદર્શિકા
API (application programming interface) એ એક નિર્ધારિત રીત છે જેના દ્વારા એક સૉફ્ટવેર બીજા પાસેથી ડેટા માંગે અથવા તેને કંઈક કરાવે. તમારી એપ સંમત ફોર્મેટમાં વિનંતી મોકલે છે — "મને આવતીકાલની બુકિંગ આપો," "આ કાર્ડ પર €20 ચાર્જ કરો," "આ ટેક્સ્ટનો સારાંશ આપો" — અને બીજી સિસ્ટમ સંરચિત જવાબ પાછો મોકલે છે. એપના ભાગો એકબીજા સાથે કેવી રીતે વાત કરે, અને તમારી એપ પેમેન્ટ, ઈમેલ, નકશા અને AI જેવી બહારની સેવાઓ કેવી રીતે વાપરે, તે API દ્વારા થાય છે.
AI સાથે બિલ્ડ કરતી વખતે API શા માટે મહત્વના છે
લગભગ દરેક ઉપયોગી એપ એવા ભાગોથી બનેલી છે જે API દ્વારા વાતચીત કરે છે:
- તમારી એપની અંદર, બ્રાઉઝરમાંની સ્ક્રીન ડેટા લોડ અને સાચવવા તમારા પોતાના backend ના API ને કૉલ કરે છે.
- તમારી એપની બહાર, તમારો backend બીજી કંપનીઓના API ને કૉલ કરે છે: પેમેન્ટ લેવા Stripe, રસીદ મોકલવા ઈમેલ provider, લખાણ બનાવવા AI મૉડલ provider.
જ્યારે તમે AI builder ને "પેમેન્ટ લો" કે "AI સારાંશ ઉમેરો" કહો છો, ત્યારે તે ખરેખર એવો કોડ લખે છે જે API ને કૉલ કરે. મૂળભૂત બાબતો જાણવાથી તમને સમજાય છે કે AI ને તમારી પાસેથી શું જોઈએ છે (સામાન્ય રીતે તે સેવા સાથેનું એકાઉન્ટ અને API key), ક્યાં વસ્તુઓ ખોટી પડી શકે, અને તેનો ખર્ચ કેટલો થશે.
રોજિંદો ઉદાહરણ
એક રેસ્ટોરન્ટનો વિચાર કરો. તમે રસોડામાં જઈને રસોઈ કરતા નથી. તમે મેનુ વાંચો છો, વેઇટરને રસોડું સમજી શકે તેવી રીતે તમને જે જોઈએ તે કહો છો, અને વેઇટર તમારું ભોજન લાવે છે — અથવા કહે છે કે વાનગી ખતમ થઈ ગઈ છે.
- મેનુ એ API દસ્તાવેજીકરણ છે: તમે શું માંગી શકો અને કેવી રીતે તેની યાદી.
- વેઇટર એ API છે: વિનંતીઓ આવવા અને જવાબો બહાર આવવાની એક સંમત રીત.
- રસોડું એ બીજી સિસ્ટમ છે: તે અંદરથી કેવી રીતે કામ કરે તે તમારે જાણવાની જરૂર નથી.
- તમારો ઓર્ડર એ વિનંતી છે; થાળી એ જવાબ છે.
જ્યાં સુધી મેનુ એ જ રહે ત્યાં સુધી રસોડું પોતાના ઓવન કે સ્ટાફ બદલી શકે, અને તમને અસર ન થાય. API નું સાચું મૂલ્ય આ જ છે: તે બે સિસ્ટમોને એકસાથે કામ કરવા દે છે, અને બેમાંથી કોઈને બીજી કેવી બનેલી છે તે જાણવાની જરૂર ન પડે.
વેબ API વિનંતી કેવી રીતે કામ કરે છે
તમે જે મોટાભાગના API જોશો તે HTTP પર કામ કરતા વેબ API છે, જે જ પ્રોટોકૉલ તમારું બ્રાઉઝર વાપરે છે. દરેક વિનંતીના કેટલાક ભાગો હોય છે:
| ભાગ | તે શું છે | ઉદાહરણ |
|---|---|---|
| Method | ક્રિયાનો પ્રકાર | GET (વાંચવું), POST (બનાવવું) |
| URL / endpoint | જે વસ્તુ પર તમે ક્રિયા કરો છો તેનું સરનામું | https://api.example.com/bookings |
| Headers | વધારાની માહિતી, તમે કોણ છો તે સહિત | Authorization: Bearer <your key> |
| Body | તમે મોકલી રહ્યા છો તે ડેટા, બનાવવા અને અપડેટ માટે | {"name": "Lena", "time": "14:00"} |
અને દરેક જવાબમાં:
| ભાગ | તે શું છે | ઉદાહરણ |
|---|---|---|
| Status code | કેવું થયું તે કહેતો નંબર | 200 OK, 201 Created, 404 Not Found |
| Body | પાછો મળેલો ડેટા, સામાન્ય રીતે JSON તરીકે | {"id": 5001, "status": "confirmed"} |
JSON (JavaScript Object Notation) એ નામ અને મૂલ્યોનું સાદું ટેક્સ્ટ ફોર્મેટ છે, જે curly braces માં હોય છે. વેબ API ડેટાની આપ-લે કરવાની તે પ્રમાણભૂત રીત છે.
REST: સૌથી સામાન્ય શૈલી
REST એ વેબ API ડિઝાઇન કરવા માટે વ્યાપક રીતે વપરાતો નિયમ છે. દરેક પ્રકારની વસ્તુને પોતાનો URL મળે છે, અને પ્રમાણભૂત પદ્ધતિઓ કહે છે કે તમે તેની સાથે શું કરી રહ્યા છો. બુકિંગ એપ માટેનું REST API આ જેવું દેખાઈ શકે:
| Method | Endpoint | શું કરે છે |
|---|---|---|
GET | /api/bookings | બુકિંગની યાદી |
GET | /api/bookings/5001 | એક બુકિંગ મેળવો |
POST | /api/bookings | નવું બુકિંગ બનાવો |
PATCH | /api/bookings/5001 | બુકિંગનો ભાગ બદલો, જેમ કે તેનો સમય |
DELETE | /api/bookings/5001 | બુકિંગ રદ કરો (delete કરો) |
PUT પણ છે અને પરંપરાગત રીતે તે આખો રેકોર્ડ બદલે છે, જ્યારે PATCH ફક્ત તમે મોકલેલાં ફીલ્ડ બદલે છે.
સૌથી વધુ જોવા મળતા status codes:
| કોડ | અર્થ |
|---|---|
200 / 201 | સફળતા / બનાવાયું |
400 | ખરાબ વિનંતી — તમે મોકલેલા કંઈકમાં ભૂલ હતી અથવા ખૂટતું હતું |
401 | પ્રમાણિત નથી — માન્ય લૉગિન કે key નથી |
403 | પ્રતિબંધિત — તમે ઓળખાઓ છો, પણ આ કરવાની મંજૂરી નથી |
404 | મળ્યું નથી |
429 | બહુ વધુ વિનંતીઓ — તમે રેટ લિમિટ સુધી પહોંચ્યા |
500 | server માં ભૂલ થઈ |
જ્યારે તમારી એપ તૂટે, ત્યારે status code ઘણી વાર સૌથી ઝડપી સંકેત હોય છે. પેમેન્ટ provider તરફથી 401 સામાન્ય રીતે ગુમ થયેલી કે ખોટી API key સૂચવે છે; 429 એટલે તમે ખૂબ વારંવાર કૉલ કરી રહ્યા છો.
REST એકમાત્ર શૈલી નથી — GraphQL અને RPC-શૈલીના API પણ છે — પણ મોટાભાગની સેવાઓ અને AI વડે બનેલા backends REST વાપરે છે.
એક ઉદાહરણ: બુકિંગની પુષ્ટિ
જ્યારે સલૂન એપમાં ગ્રાહક હેરકટ બુક કરે, ત્યારે એક-બે સેકન્ડમાં કેટલાક API કૉલ થઈ શકે છે:
- બ્રાઉઝરનું બુકિંગ પેજ સેવા, સમય અને ગ્રાહકની વિગતો સાથે તમારા backend ને
POST /api/bookingsમોકલે છે. - તમારો backend ચકાસે છે કે સ્લોટ ખાલી છે, બુકિંગને database માં સાચવે છે, અને
201 Createdપાછો આપે છે. - તમારો backend તેની secret key સાથે ઈમેલ provider ના API ને કૉલ કરે છે: "આ પુષ્ટિ lena@example.com ને મોકલો."
- જો ડિપોઝિટ હોય, તો તમારો backend પેમેન્ટ provider ના API ને checkout session બનાવવા કહે છે અને ગ્રાહકને ત્યાં મોકલે છે.
- પછીથી, પેમેન્ટ provider તમારી એપને કૉલ કરીને જણાવે છે કે પેમેન્ટ સફળ થયું. તે ઊલટો કૉલ webhook છે.
પહેલાં બે પગલાં frontend અને backend વચ્ચે તમારો પોતાનો API છે. પગલાં 3–5 તૃતીય-પક્ષ API છે.
સામાન્ય શબ્દોની સમજૂતી
| શબ્દ | અર્થ |
|---|---|
| Endpoint | API જેનો જવાબ આપે છે તેવો એક ચોક્કસ URL. |
| API key | સેવાને તમારી એપની ઓળખ આપતી ગુપ્ત શબ્દમાળા. તેને પાસવર્ડ ગણો. |
| Authentication | કોણ કૉલ કરી રહ્યું છે તે સાબિત કરવું — key, token કે લૉગિન વડે. જુઓ authentication શું છે. |
| Rate limit | એક સમયગાળામાં તમે કેટલી વિનંતીઓ કરી શકો તેની મર્યાદા. |
| SDK | ચોક્કસ API ને કૉલ કરવાનું સરળ બનાવતી તૈયાર code library. |
| Documentation | "મેનુ": કયા endpoints છે, તેઓ શું સ્વીકારે અને શું પાછું આપે. |
| Sandbox / test mode | વાસ્તવિક પૈસા કે વાસ્તવિક ડેટા વિના પરીક્ષણ માટેની સેવાની આવૃત્તિ. |
| Webhook | કંઈક બને ત્યારે બીજી સેવા તરફથી તમારી એપ પર આવતો કૉલ. |
સામાન્ય ભૂલો અને ગેરસમજો
- ગુપ્ત keys frontend માં મૂકવી. બ્રાઉઝરમાં ચાલતા કોડમાં જે કંઈ હોય તે કોઈ પણ મુલાકાતી જોઈ શકે. ગુપ્ત keys server પર જ રહેવી જોઈએ, environment variables અથવા secrets માં.
- Keys ને chat માં પેસ્ટ કરવી. Chat ઇતિહાસ સંગ્રહાઈ શકે. તેના બદલે તમારા builder ની secrets સુવિધા વાપરો, અને જે key ખુલ્લી પડી હોય તેને બદલો (rotate કરો).
- API મફત છે એમ માની લેવું. ઘણા APIs દરેક વિનંતી કે વપરાશ એકમ દીઠ ચાર્જ કરે છે — AI મૉડલ APIs tokens દીઠ ચાર્જ કરે છે. કિંમત તપાસો અને ખર્ચ મર્યાદા સેટ કરો. જુઓ LLM APIs કેવી રીતે વાપરવા.
- નિષ્ફળતાને સંભાળ્યા વિના. બહારની સેવાઓ બંધ થાય, timeout થાય અને મર્યાદા સુધી પહોંચે. યોગ્ય ભૂલ સંદેશા અને retries માંગો.
- બ્રાઉઝર પર ભરોસો. તમારા પોતાના API એ પોતે permissions ચકાસવા જોઈએ. બટન છુપાવવાથી કોઈ સીધા endpoint ને કૉલ કરતા રોકાતું નથી.
- પરીક્ષણ વખતે લાઇવ keys વાપરવી. લૉન્ચ માટે તૈયાર થાઓ ત્યાં સુધી test mode keys વાપરો.
તમારા AI builder ને શું માંગવું
- "આ એપ કયા બહારના APIs વાપરે છે, અને દરેકની કિંમત કેટલી છે?"
- "પેમેન્ટ API ને ફક્ત server પરથી કૉલ કરો. key environment variable માંથી વાંચો."
- "અમારા API ના દરેક endpoint, તે શું કરે છે અને તેને કોણ કૉલ કરી શકે તેની યાદી આપો."
- "બુકિંગ અપડેટ કે delete કરતા પહેલાં server પર ચકાસો કે લૉગિન થયેલો વપરાશકર્તા તેનો માલિક છે."
- "જો ઈમેલ API નિષ્ફળ જાય, તો પણ બુકિંગ સાચવો અને ભૂલ લૉગ કરો."
- "અત્યારે provider નો test mode વાપરો."
Mythex માં API
Mythex તમારો પોતાનો API બનાવી શકે છે — વેબ એપના ભાગ તરીકે, અથવા તમારા frontend સાથે ચાલતા અલગ Node, Python (FastAPI), C# કે Java backend તરીકે — અને બહારની સેવાઓને કૉલ કરતો કોડ લખી શકે છે. તમે તેમની keys ચેટમાં નહીં, પણ project secrets તરીકે ઉમેરો છો, અને તે preview માં તેમજ publish થયા પછી તમારી એપને ઉપલબ્ધ હોય છે. Docs માં કોઈ પણ API ને integrate કરવા અને REST API backend બનાવવા માટેના recipes છે.
પ્રશ્નો
સરળ શબ્દોમાં API એટલે શું?
API (application programming interface) એ એક નિર્ધારિત રીત છે જેના દ્વારા એક સૉફ્ટવેર બીજા પાસેથી ડેટા માંગે અથવા તેને કંઈક કરવા કહે. તમારી એપ સંમત ફોર્મેટમાં વિનંતી મોકલે છે, અને બીજી સિસ્ટમ જવાબ પાછો મોકલે છે — જેમ કે હવામાનનો ડેટા, પેમેન્ટનું પરિણામ અથવા AI વડે બનાવેલો જવાબ.
REST API શું છે?
REST API એ વેબ API ની સામાન્ય શૈલી છે, જ્યાં દરેક પ્રકારની વસ્તુ (બુકિંગ, ગ્રાહકો) પાસે URL હોય છે, અને તમે પ્રમાણભૂત HTTP પદ્ધતિઓ વાપરો છો — વાંચવા માટે GET, બનાવવા માટે POST, અપડેટ માટે PUT કે PATCH, દૂર કરવા માટે DELETE. ડેટા સામાન્ય રીતે JSON તરીકે પાછો આવે છે.
API key શું છે અને તેને ક્યાં રાખવી જોઈએ?
API key એ એક ગુપ્ત શબ્દમાળા છે જે સેવાને તમારી એપની ઓળખ આપે છે, અને ઘણી વાર તેને પૈસા ખર્ચવા કે ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે. તેને environment variables અથવા server પરના project secrets માં રાખો, ક્યારેય બ્રાઉઝરમાં ચાલતા કોડમાં નહીં અને ક્યારેય જાહેર repository માં નહીં.
API અને webhook વચ્ચે શું તફાવત છે?
API સાથે, તમારી એપ જ્યારે જોઈએ ત્યારે બીજી સેવાને કંઈક પૂછે છે. Webhook સાથે, કંઈક બને ત્યારે બીજી સેવા તમારી એપને કૉલ કરે છે — દાખલા તરીકે, પેમેન્ટ provider તમને જણાવે કે પેમેન્ટ સફળ થયું.