MIF_E31221305/TA_API/bacaini.md

579 lines
17 KiB
Markdown

1. PENJAHIT
A. REGISTER
http://localhost:8000/api/penjahit/register
{
"name": "Toko Jahit Makmur",
"email": "jahit.makmur@example.com",
"password": "password123",
"phone_number": "081234567891",
"address": "Jl. Menjahit Indah No. 123, Jakarta Selatan",
"shop_description": "Toko jahit terpercaya dengan pengalaman lebih dari 10 tahun. Menyediakan berbagai jasa jahit dan perbaikan pakaian dengan kualitas premium.",
"specializations": [1, 2]
}
B. Login
http://localhost:8000/api/penjahit/login
{
"email": "jahit.makmurr@example.com",
"password": "password"
}
C. DASHBOARD
GET http://localhost:8000/api/penjahit/dashboard
INI RESPON
{
"success": true,
"data": {
"incoming_bookings": [],
"current_month_earnings": 0,
"total_earnings": 0,
"average_rating": 0,
"total_completed_orders": 0
},
"message": "Data dashboard berhasil diambil"
}
D.DI FIGMA HALAMAN KONFIRMASI PESANAN
GET http://localhost:8000/api/penjahit/bookings/status/pending
GET http://localhost:8000/api/penjahit/bookings/status/diterima
GET http://localhost:8000/api/penjahit/bookings/status/diproses
GET http://localhost:8000/api/penjahit/bookings/status/selesai
GET http://localhost:8000/api/penjahit/bookings/status/dibatalkan
ALL http://localhost:8000/api/penjahit/bookings
E. TERIMA DAN TOLAK berdasarkan ia login
POST http://localhost:8000/api/bookings/{booking_id}/reject
POST http://localhost:8000/api/bookings/{booking_id}/accept
F. KALENDER GET
http://localhost:8000/api/penjahit/calendar/3/2025
{
"success": true,
"data": {
"month": 3,
"year": 2025,
"month_name": "March",
"calendar": [
{
"date": "2025-03-01",
"day": "01",
"day_name": "Saturday",
"bookings": []
},
{
"date": "2025-03-02",
"day": "02",
"day_name": "Sunday",
"bookings": []
},
{
"date": "2025-03-03",
"day": "03",
"day_name": "Monday",
"bookings": []
},
{
"date": "2025-03-04",
"day": "04",
"day_name": "Tuesday",
"bookings": []
},
{
"date": "2025-03-05",
"day": "05",
"day_name": "Wednesday",
"bookings": []
},
{
"date": "2025-03-06",
"day": "06",
"day_name": "Thursday",
"bookings": []
},
{
"date": "2025-03-07",
"day": "07",
"day_name": "Friday",
"bookings": []
},
{
"date": "2025-03-08",
"day": "08",
"day_name": "Saturday",
"bookings": []
},
{
"date": "2025-03-09",
"day": "09",
"day_name": "Sunday",
"bookings": []
},
{
"date": "2025-03-10",
"day": "10",
"day_name": "Monday",
"bookings": []
},
{
"date": "2025-03-11",
"day": "11",
"day_name": "Tuesday",
"bookings": []
},
{
"date": "2025-03-12",
"day": "12",
"day_name": "Wednesday",
"bookings": []
},
{
"date": "2025-03-13",
"day": "13",
"day_name": "Thursday",
"bookings": []
},
{
"date": "2025-03-14",
"day": "14",
"day_name": "Friday",
"bookings": []
},
{
"date": "2025-03-15",
"day": "15",
"day_name": "Saturday",
"bookings": []
},
{
"date": "2025-03-16",
"day": "16",
"day_name": "Sunday",
"bookings": []
},
{
"date": "2025-03-17",
"day": "17",
"day_name": "Monday",
"bookings": []
},
{
"date": "2025-03-18",
"day": "18",
"day_name": "Tuesday",
"bookings": []
},
{
"date": "2025-03-19",
"day": "19",
"day_name": "Wednesday",
"bookings": []
},
{
"date": "2025-03-20",
"day": "20",
"day_name": "Thursday",
"bookings": []
},
{
"date": "2025-03-21",
"day": "21",
"day_name": "Friday",
"bookings": []
},
{
"date": "2025-03-22",
"day": "22",
"day_name": "Saturday",
"bookings": []
},
{
"date": "2025-03-23",
"day": "23",
"day_name": "Sunday",
"bookings": []
},
{
"date": "2025-03-24",
"day": "24",
"day_name": "Monday",
"bookings": []
},
{
"date": "2025-03-25",
"day": "25",
"day_name": "Tuesday",
"bookings": []
},
{
"date": "2025-03-26",
"day": "26",
"day_name": "Wednesday",
"bookings": []
},
{
"date": "2025-03-27",
"day": "27",
"day_name": "Thursday",
"bookings": [
{
"id": 2,
"time": "2025-03-26T10:00:00.000000Z",
"customer_name": "Rudi Hermawan",
"customer_phone": "081234567895",
"service_type": "Jahit Baru",
"category": "Bawahan",
"status": "diproses",
"payment_status": "paid"
}
]
},
{
"date": "2025-03-28",
"day": "28",
"day_name": "Friday",
"bookings": []
},
{
"date": "2025-03-29",
"day": "29",
"day_name": "Saturday",
"bookings": []
},
{
"date": "2025-03-30",
"day": "30",
"day_name": "Sunday",
"bookings": []
},
{
"date": "2025-03-31",
"day": "31",
"day_name": "Monday",
"bookings": []
}
],
"summary": {
"total_bookings": 1,
"pending_bookings": 0,
"ongoing_bookings": 1,
"completed_bookings": 0,
"cancelled_bookings": 0
}
},
"message": "Data kalender berhasil diambil"
}
2. USERS
A. REGISTER
http://localhost:8000/api/pelanggan/register
{
"name": "Pelanggan Baru",
"email": "pelanggan.baru22@example.com",
"password": "password123",
"phone_number": "081234567890",
"address": "Jl. Pelanggan No. 123, Jakarta",
"preferred_specializations": [3, 5, 9],
"latitude": -6.1754,
"longitude": 106.8272
}
B. Login
http://localhost:8000/api/pelanggan/login
{
"email": "pelanggan2@gmail.com",
"password": "password"
}
C. DASHBOARD
http://localhost:8000/api/tailors/recommended
{
"success": true,
"data": {
"tailors": [
{
"id": 3,
"name": "Siti Rahayu",
"email": "siti@example.com",
"role": "penjahit",
"phone_number": "081234567892",
"address": "Jl. Penjahit No. 2",
"latitude": null,
"longitude": null,
"shop_description": null,
"profile_photo": null,
"email_verified_at": null,
"created_at": "2025-03-24T21:15:14.000000Z",
"updated_at": "2025-03-24T21:15:14.000000Z",
"distance": null,
"specializations": [
{
"id": 8,
"name": "Gamis",
"icon": null,
"created_at": "2025-03-23T14:12:26.000000Z",
"updated_at": "2025-03-23T14:12:26.000000Z",
"pivot": {
"user_id": 3,
"tailor_specialization_id": 8
}
},
{
"id": 9,
"name": "Baju Pesta",
"icon": "dress",
"created_at": "2025-03-24T21:15:13.000000Z",
"updated_at": "2025-03-24T21:15:13.000000Z",
"pivot": {
"user_id": 3,
"tailor_specialization_id": 9
}
}
]
}
],
"user_preferred": [
3,
5,
9
]
},
"message": "Rekomendasi penjahit berhasil diambil"
}
D. DETAIL PENJAHIT
http://localhost:8000/api/tailors/3
{
"success": true,
"data": {
"id": 3,
"name": "Siti Rahayu",
"email": "siti@example.com",
"role": "penjahit",
"phone_number": "081234567892",
"address": "Jl. Penjahit No. 2",
"latitude": null,
"longitude": null,
"shop_description": null,
"profile_photo": null,
"email_verified_at": null,
"created_at": "2025-03-24T21:15:14.000000Z",
"updated_at": "2025-03-24T21:15:14.000000Z",
"completed_orders": 0,
"average_rating": 4,
"distance": null,
"specializations": [
{
"id": 8,
"name": "Gamis",
"icon": null,
"created_at": "2025-03-23T14:12:26.000000Z",
"updated_at": "2025-03-23T14:12:26.000000Z",
"pivot": {
"user_id": 3,
"tailor_specialization_id": 8
}
},
{
"id": 9,
"name": "Baju Pesta",
"icon": "dress",
"created_at": "2025-03-24T21:15:13.000000Z",
"updated_at": "2025-03-24T21:15:13.000000Z",
"pivot": {
"user_id": 3,
"tailor_specialization_id": 9
}
}
],
"services": [
{
"id": 2,
"user_id": 3,
"name": "Jahit Baju Muslim",
"description": "Jahit baju muslim dengan desain modern",
"price": "350000.00",
"category": "Jahit Baru",
"estimated_days": 5,
"is_available": true,
"service_photo": "services/baju_muslim.jpg",
"created_at": "2025-03-24T21:15:15.000000Z",
"updated_at": "2025-03-24T21:15:15.000000Z"
}
]
},
"message": "Detail penjahit berhasil diambil"
}
E. Melakukan booking
http://localhost:8000/api/tailors/3/book
INI PERINTAHNYA
{
"appointment_date": "2025-04-01",
"appointment_time": "14:00",
"service_type": "Jahit Baru",
"category": "Bawahan",
"notes": "Celana bahan katun warna hitam",
"measurements": [
{
"name": "lingkar_pinggang",
"value": 82,
"unit": "cm"
},
{
"name": "lingkar_pinggul",
"value": 96,
"unit": "cm"
},
{
"name": "panjang_celana",
"value": 98,
"unit": "cm"
},
{
"name": "lingkar_paha",
"value": 58,
"unit": "cm"
},
{
"name": "lingkar_lutut",
"value": 40,
"unit": "cm"
},
{
"name": "lingkar_kaki",
"value": 32,
"unit": "cm"
}
]
}
F. Untuk get semua bookings
http://localhost:8000/api/bookings/customer
ini responnya
{
"success": true,
"data": [
{
"id": 5,
"customer_id": 13,
"tailor_id": 3,
"appointment_date": "2025-04-01T00:00:00.000000Z",
"appointment_time": "14:00",
"service_type": "Jahit Baru",
"category": "Bawahan",
"design_photo": null,
"notes": "Celana bahan katun warna hitam",
"status": "reservasi",
"total_price": null,
"payment_status": "unpaid",
"measurements": [
{
"name": "lingkar_pinggang",
"unit": "cm",
"value": 82
},
{
"name": "lingkar_pinggul",
"unit": "cm",
"value": 96
},
{
"name": "panjang_celana",
"unit": "cm",
"value": 98
},
{
"name": "lingkar_paha",
"unit": "cm",
"value": 58
},
{
"name": "lingkar_lutut",
"unit": "cm",
"value": 40
},
{
"name": "lingkar_kaki",
"unit": "cm",
"value": 32
}
],
"repair_details": null,
"repair_photo": null,
"repair_notes": null,
"completion_photo": null,
"completion_notes": null,
"accepted_at": null,
"rejected_at": null,
"completed_at": null,
"rejection_reason": null,
"created_at": "2025-03-25T08:10:03.000000Z",
"updated_at": "2025-03-25T08:10:03.000000Z",
"tailor": {
"id": 3,
"name": "Siti Rahayu",
"email": "siti@example.com",
"role": "penjahit",
"phone_number": "081234567892",
"address": "Jl. Penjahit No. 2",
"latitude": null,
"longitude": null,
"shop_description": null,
"profile_photo": null,
"email_verified_at": null,
"created_at": "2025-03-24T21:15:14.000000Z",
"updated_at": "2025-03-24T21:15:14.000000Z"
}
},
{
"id": 4,
"customer_id": 13,
"tailor_id": 3,
"appointment_date": "2025-04-01T00:00:00.000000Z",
"appointment_time": "14:00",
"service_type": "Jahit Baru",
"category": "Bawahan",
"design_photo": null,
"notes": "Jahit celana panjang dengan bahan katun",
"status": "reservasi",
"total_price": null,
"payment_status": "unpaid",
"measurements": null,
"repair_details": null,
"repair_photo": null,
"repair_notes": null,
"completion_photo": null,
"completion_notes": null,
"accepted_at": null,
"rejected_at": null,
"completed_at": null,
"rejection_reason": null,
"created_at": "2025-03-25T07:59:47.000000Z",
"updated_at": "2025-03-25T07:59:47.000000Z",
"tailor": {
"id": 3,
"name": "Siti Rahayu",
"email": "siti@example.com",
"role": "penjahit",
"phone_number": "081234567892",
"address": "Jl. Penjahit No. 2",
"latitude": null,
"longitude": null,
"shop_description": null,
"profile_photo": null,
"email_verified_at": null,
"created_at": "2025-03-24T21:15:14.000000Z",
"updated_at": "2025-03-24T21:15:14.000000Z"
}
}
],
"message": "Data booking berhasil diambil."
}
GET BOOKING BERDASRKAN STATUS
GET http://localhost:8000/api/bookings/customer/status/reservasi
GET http://localhost:8000/api/bookings/customer/status/diproses
GET http://localhost:8000/api/bookings/customer/status/selesai
GET http://localhost:8000/api/bookings/customer/status/dibatalkan