Si të Menaxhoni Pacientët përmes API-së
PĂ«rdorni API REST tĂ« Dentare pĂ«r tĂ« krijuar, pĂ«rditĂ«suar, listuar dhe shikuar pacientĂ« nĂ« mĂ«nyrĂ« programatike. Ky udhĂ«zues mbulon krijimin e njĂ« token API, autentifikimin e kĂ«rkesave, dhe pĂ«rdorimin e endpoint-eve tĂ« pacientĂ«ve â tĂ« gjitha pa hapur ndĂ«rfaqen web tĂ« Dentare.
Si të Menaxhoni Pacientët përmes API-së
PĂ«rdorni API REST tĂ« Dentare pĂ«r tĂ« krijuar, pĂ«rditĂ«suar, listuar dhe shikuar pacientĂ« nĂ« mĂ«nyrĂ« programatike. Ky udhĂ«zues mbulon krijimin e njĂ« token API, autentifikimin e kĂ«rkesave, dhe pĂ«rdorimin e endpoint-eve tĂ« pacientĂ«ve â tĂ« gjitha pa hapur ndĂ«rfaqen web tĂ« Dentare.
Në këtë artikull:
ĂfarĂ« ju Nevojitet
Një llogari aktive Dentare me akses administratori
Një mjet për dërgimin e kërkesave HTTP (p.sh.,
curl, Postman, ose kodi juaj)
Hapi 1 â Krijoni njĂ« Token API
Para se të thërrisni API-në, ju nevojitet një token API. Ky token autentifikon kërkesat tuaja dhe i lidh ato me llogarinë tuaj Dentare.
Identifikohuni në Dentare si administrator i llogarisë
Shkoni te API Tokens nga navigimi i llogarisë (ose navigoni drejtpërdrejt te API Tokens)
Klikoni Create an API Token
Shkruani një emër përshkrues (p.sh., "Integrim Pacientësh" ose "Skript Migrimi")
Klikoni Create
Pas krijimit, Dentare tregon tokenin tuaj. Kopjojeni menjĂ«herĂ« â pĂ«r siguri, tokeni i plotĂ« shihet vetĂ«m nĂ« kĂ«tĂ« moment.
E rëndësishme: Trajtojeni tokenin tuaj API si fjalëkalim. Mos e ndani publikisht dhe mos e vendosni në kontroll versioni. Kushdo me tokenin mund të aksesojë të dhënat e llogarisë suaj.
Për të revokuar një token:
Shkoni te API Tokens
Klikoni emrin e tokenit
Klikoni Revoke
Tokeni fshihet menjëherë dhe nuk mund të përdoret më.
Hapi 2 â Autentifikoni KĂ«rkesat API
Ădo kĂ«rkesĂ« API duhet tĂ« pĂ«rfshijĂ« tokenin tuaj nĂ« header-in Authorization duke pĂ«rdorur skemĂ«n Bearer:
Authorization: Bearer TOKENI_JUAJ_KĂTU
Shembull me curl:
curl https://dentare.io/api/v1/me.json -H "Authorization: Bearer TOKENI_JUAJ_KĂTU" -H "Accept: application/json"
Një përgjigje e suksesshme kthen profilin tuaj, duke konfirmuar që tokeni funksionon.
Nëse merrni një përgjigje 401 Unauthorized, kontrolloni që:
Tokeni është kopjuar saktë (pa hapësira shtesë)
Tokeni nuk është revokuar
Header-i
Authorizationpërdor prefiksinBearer
Krijoni një Pacient
Kërkesa:
POST https://dentare.io/api/v1/patients
Header-at:
Authorization: Bearer TOKENI_JUAJ_KĂTUContent-Type: application/json
Trupi (JSON):
{"first_name": "Arben", "last_name": "Hoxha", "email": "arben@shembull.com", "phone": "+38344123456", "birthdate": "1990-05-15", "gender": "male"}
Shembull me curl:
curl -X POST https://dentare.io/api/v1/patients -H "Authorization: Bearer TOKENI_JUAJ_KĂTU" -H "Content-Type: application/json" -d '{"first_name": "Arben", "last_name": "Hoxha", "email": "arben@shembull.com", "phone": "+38344123456"}'
Përgjigja e suksesshme (201 Created):
Kthen regjistrimin e plotë të pacientit në formatin {data: {...}} duke përfshirë id-në e caktuar, display_name, phone_e164 (telefoni i normalizuar), created_at, dhe të gjitha fushat e tjera.
Përgjigja e gabimit (422 Unprocessable Entity):
Kthen {error: "...", errors: {...}} me mesazhe validimi (p.sh., "Emri nuk mund të jetë bosh").
Shënim: Vetëm
first_namedhelast_namejanë të detyrueshme. Të gjitha fushat e tjera janë opsionale.
Përditësoni një Pacient
Kërkesa:
PATCH https://dentare.io/api/v1/patients/PATIENT_ID
Header-at:
Authorization: Bearer TOKENI_JUAJ_KĂTUContent-Type: application/json
Trupi (JSON) â pĂ«rfshini vetĂ«m fushat qĂ« dĂ«shironi tĂ« ndryshoni:
{"email": "email_ri@shembull.com", "phone": "+38371999888"}
Shembull me curl:
curl -X PATCH https://dentare.io/api/v1/patients/123 -H "Authorization: Bearer TOKENI_JUAJ_KĂTU" -H "Content-Type: application/json" -d '{"email": "email_ri@shembull.com"}'
Përgjigja e suksesshme (200 OK):
Kthen regjistrimin e përditësuar të plotë të pacientit në formatin {data: {...}}.
Përgjigjet e gabimeve:
404 Not Found â pacienti nuk ekziston ose i pĂ«rket njĂ« llogarie tjetĂ«r
422 Unprocessable Entity â gabim validimi
Listoni Pacientët
Kërkesa:
GET https://dentare.io/api/v1/patients
Header-at:
Authorization: Bearer TOKENI_JUAJ_KĂTU
Parametrat e query-it (të gjitha opsionale):
q â kĂ«rkimi (kĂ«rkon nĂ« emĂ«r, email, telefon, numĂ«r personal)
page â numri i faqes (parazgjedhur: 1)
per_page â artikuj pĂ«r faqe (parazgjedhur: 20, maks: 100)
lang â gjuha pĂ«r emrat e shfaqur:
en,sq, osemkemail â filtro sipas email-it tĂ« saktĂ«
phone â filtro sipas numrit tĂ« telefonit (pĂ«rputhje e pjesshme)
personal_no â filtro sipas numrit personal (EMBG)
external_id â filtro sipas ID-sĂ« eksterne
legacy_id â filtro sipas ID-sĂ« sĂ« vjetĂ«r
is_active â filtro sipas statusit aktiv (
trueosefalse; parazgjedhur vetëm aktivë)
Shembull me curl:
curl "https://dentare.io/api/v1/patients?q=Arben&per_page=50" -H "Authorization: Bearer TOKENI_JUAJ_KĂTU"
Përgjigja e suksesshme (200 OK):
Përgjigja përmban një listë data dhe një objekt meta:
data â lista e regjistrimeve tĂ« pacientĂ«ve, secili me:
id,first_name,last_name,display_name,email,phone,phone_e164,locale,is_active,created_atmeta â informacioni i faqeve me
page,per_page,total
Shënim: Si parazgjedhje, vetëm pacientët aktivë kthehen. Kaloni
is_active=falsepër të përfshirë pacientët joaktivë.
Merrni Detajet e Pacientit
Kërkesa:
GET https://dentare.io/api/v1/patients/PATIENT_ID
Header-at:
Authorization: Bearer TOKENI_JUAJ_KĂTU
Parametrat e query-it (opsionale):
lang â gjuha pĂ«r emrat e shfaqur:
en,sq, osemkfields â listĂ« e ndarĂ« me presje e fushave tĂ« zgjerimit (shiko seksionin Fushat e Zgjerimit mĂ« poshtĂ«)
Shembull me curl:
curl "https://dentare.io/api/v1/patients/123?fields=allergies,medical_conditions,insurance_provider" -H "Authorization: Bearer TOKENI_JUAJ_KĂTU"
Përgjigja e suksesshme (200 OK):
Kthen regjistrimin e plotë të pacientit në formatin {data: {...}} duke përfshirë: id, first_name, last_name, display_name, display_first_name, display_last_name, email, phone, phone_e164, phone_country, birthdate, gender, personal_no, external_id, legacy_id, locale, is_active, created_at, updated_at, plus fushat e kërkuara të zgjerimit.
Përgjigja e gabimit:
404 Not Found â pacienti nuk ekziston ose i pĂ«rket njĂ« llogarie tjetĂ«r
Fushat e Disponueshme
Fushat e mëposhtme mund të përdoren kur krijoni ose përditësoni një pacient. Vetëm first_name dhe last_name janë të detyrueshme.
TĂ« detyrueshme:
first_name â emri i pacientit
last_name â mbiemri i pacientit
Opsionale:
email â adresa e email-it
phone â numri i telefonit (normalizohet automatikisht nĂ« format ndĂ«rkombĂ«tar E.164)
phone_country â kodi dy-shkronjĂ«sh i shtetit pĂ«r normalizimin e telefonit (p.sh., "MK", "XK", "AL")
birthdate â data e lindjes nĂ« format ISO 8601 (YYYY-MM-DD)
gender â
male,female, oseotherpersonal_no â numri personal / EMBG
locale â gjuha e preferuar pĂ«r mesazhe:
en,sq, osemkexternal_id â ID nga njĂ« sistem tjetĂ«r (pĂ«r referencĂ«)
blood_type â grupi i gjakut
allergies â alergji tĂ« njohura (tekst i lirĂ«)
medical_conditions â kushte mjekĂ«sore tĂ« njohura (tekst i lirĂ«)
emergency_contact_name â emri i kontaktit tĂ« emergjencĂ«s
emergency_contact_relationship â marrĂ«dhĂ«nia me pacientin
emergency_contact_phone â numri i telefonit tĂ« kontaktit tĂ« emergjencĂ«s
insurance_provider â emri i kompanisĂ« sĂ« sigurimit
insurance_id â numri i policĂ«s sĂ« sigurimit
is_active â nĂ«se pacienti Ă«shtĂ« aktiv (
trueosefalse)preferred_doctor_id â ID e mjekut tĂ« preferuar
Fushat e Zgjerimit
Si parazgjedhje, përgjigja e detajeve të pacientit përfshin vetëm fushat bazë. Për të përfshirë fusha shtesë, kaloni ato si parametër fields të ndarë me presje në kërkesën GET.
Fushat e disponueshme të zgjerimit:
allergies â alergji tĂ« njohura
medical_conditions â kushte mjekĂ«sore tĂ« njohura
blood_type â grupi i gjakut
emergency_contact_name â emri i kontaktit tĂ« emergjencĂ«s
emergency_contact_relationship â marrĂ«dhĂ«nia e kontaktit tĂ« emergjencĂ«s
emergency_contact_phone â telefoni i kontaktit tĂ« emergjencĂ«s
insurance_provider â emri i kompanisĂ« sĂ« sigurimit
insurance_id â numri i policĂ«s sĂ« sigurimit
vip â statusi VIP
vip_start_date â data e fillimit VIP
vip_expiration_date â data e skadimit VIP
vip_notes â shĂ«nimet VIP
preferences â preferencat e pacientit
medical_issues â çështje mjekĂ«sore
Shembull:
GET /api/v1/patients/123?fields=allergies,insurance_provider,emergency_contact_name
Përmbledhja e Referencës API
Autentifikimi:
Header:
Authorization: Bearer TOKENI_JUAJ_KĂTULloji i pĂ«rmbajtjes:
application/json
Endpoint-et:
POST /api/v1/patients â krijo njĂ« pacient
PATCH /api/v1/patients/:id â pĂ«rditĂ«so njĂ« pacient
GET /api/v1/patients â listo pacientĂ«t (me faqe, kĂ«rkim, filtra)
GET /api/v1/patients/:id â merr detajet e pacientit (me fusha opsionale zgjerimi)
Kodet e zakonshme HTTP të statusit:
200 â sukses
201 â krijuar me sukses
401 â i paautorizuar (token i pavlefshĂ«m ose mungesĂ«)
404 â nuk u gjet
422 â gabim validimi (fusha tĂ« detyrueshme mungojnĂ«, format i gabuar)
Zgjidhja e Problemeve
401 Unauthorized nĂ« çdo kĂ«rkesĂ« Kontrolloni qĂ« header-i juaj Authorization pĂ«rdor formatin e saktĂ«: Bearer TOKENI_JUAJ_KĂTU. Sigurohuni qĂ« tokeni nuk Ă«shtĂ« revokuar.
404 Not Found kur aksesoni njĂ« pacient Pacienti ose nuk ekziston ose i pĂ«rket njĂ« llogarie tjetĂ«r. KĂ«rkesat API janĂ« tĂ« kufizuara nĂ« llogarinĂ« tuaj â nuk mund tĂ« aksesoni pacientĂ« nga llogari tĂ« tjera.
422 Gabim validimi gjatë krijimit Minimalisht, first_name dhe last_name janë të detyrueshme. Kontrolloni objektin errors në përgjigje për gabimet specifike të fushave.
Numri i telefonit shfaqet ndryshe pas krijimit/përditësimit Dentare normalizon automatikisht numrat e telefonit në formatin ndërkombëtar E.164 (p.sh., +38970123456). Numri i normalizuar kthehet në fushën phone_e164. Kaloni phone_country për të ndihmuar normalizimin nëse numrat tuaj të telefonit nuk përfshijnë kodin e shtetit.
KĂ«rkimi nuk kthen rezultate Parametri q kĂ«rkon nĂ« emĂ«r, email, telefon, dhe numĂ«r personal. Sigurohuni qĂ« termi i kĂ«rkimit pĂ«rputhet me tĂ« paktĂ«n njĂ«rĂ«n nga kĂ«to fusha. Si parazgjedhje, vetĂ«m pacientĂ«t aktivĂ« kthehen â kaloni is_active=false pĂ«r tĂ« pĂ«rfshirĂ« ata joaktivĂ«.
Karakteret speciale shfaqen të prishura Sigurohuni që kërkesa juaj përdor kodimin UTF-8. Vendosni header-in Content-Type: application/json; charset=utf-8.
Keni nevojë për ndihmë? Kontaktoni Mbështetjen.