WP Manifestindependent plugin directory
manifest / integrations / dimp_back

DIMP Kenya API

online Emergency, medicine, consultation

★ 2stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/kanji8210/dimp_back/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

DIMP Kenya API (WordPress plugin)

Headless REST API for the DIMP Kenya (Doctor in My Pocket) Next.js frontend. Exposes routes under the dimp/v1 namespace so they resolve at /wp-json/dimp/v1/<route> — matching NEXT_PUBLIC_WP_PLUGIN_NAMESPACE.

Install

  1. Copy the dimp-api/ folder into your WordPress wp-content/plugins/ directory.
  2. In wp-admin → Plugins, activate DIMP Kenya API.
  3. On activation it registers the custom post types, seeds 4 demo doctors, and flushes rewrite rules.

Endpoints

Method Route Auth Returns
GET /wp-json/dimp/v1/ping Public Health/status object
GET /wp-json/dimp/v1/doctors Public Array of doctors
GET /wp-json/dimp/v1/patients/me/appointments Logged-in user Array of the current user's appointments

Response shapes

/doctors returns objects matching the frontend DoctorItem:

{
  "id": "DOC-12",
  "name": "Dr. Achieng Otieno",
  "specialty": "General Practice",
  "county": "Nairobi",
  "rating": 4.9,
  "language": ["English", "Kiswahili", "Dholuo"],
  "feeKes": 1800,
  "nextSlot": "Today 17:00",
  "bio": "Primary care physician..."
}

/patients/me/appointments returns objects matching the frontend AppointmentItem:

{
  "id": "APT-34",
  "doctorName": "Dr. Achieng Otieno",
  "specialty": "General Practice",
  "date": "2026-06-14",
  "time": "09:30",
  "status": "confirmed"
}

Connecting the frontend

Set these env vars in the Next.js app (.env.local and Vercel):

NEXT_PUBLIC_WP_API_BASE_URL=http://localhost:8080
NEXT_PUBLIC_WP_PLUGIN_NAMESPACE=dimp/v1

The Next.js API routes (/api/patient/doctors, /api/patient/appointments, /api/health/wp) call these endpoints and fall back to bundled mock data when the backend is unreachable.

Notes

  • appointments requires an authenticated WordPress user. The current frontend fetch is unauthenticated server-side, so until login (cookie/nonce or JWT) is wired, that route returns 401 and the frontend uses its fallback data — by design. /doctors and /ping work immediately.
  • Doctors and appointments are stored as custom post types (dimp_doctor, dimp_appointment) and are editable from wp-admin.

Data model

  • Doctor (dimp_doctor): title = name; meta = specialty, county, rating, languages (comma-separated), fee_kes, next_slot, bio.
  • Appointment (dimp_appointment): meta = doctor_name, specialty, appt_date, appt_time, status, patient_id (WP user ID).