مرحبًا بك في واجهة برمجة تطبيقات التسليم! API هذا الحل لإدارة المنتجات والمبيعات في التطبيق الخاص بك. تم تصميمه باستخدام .NET ، ويوفر واجهة مريحة لإنشاء وإدارة المنتجات ومعالجة معاملات المبيعات. يوفر هذا المستند نظرة عامة على نقاط نهاية API للتسليم ، بما في ذلك الأوصاف التفصيلية ، ومعلمات الطلب ، وتنسيقات الاستجابة. يتضمن واجهة برمجة التطبيقات نقاط النهاية للفحوصات الصحية ، وإدارة المنتجات ، والتعامل مع المبيعات.
استنساخ المستودع:
git clone https://github.com/anthonyvii27/delivery-apiالتغيير إلى دليل المستودع:
cd delivery-apiقم بتشغيل الأمر لبدء بيئة الحاويات:
make compose-up-v2 سيتم تشغيل واجهة برمجة التطبيقات على المنفذ :8080 على جهاز الكمبيوتر الخاص بك.
اختياريا ، في جذر هذا المستودع ، يوجد ملف يسمى delivery-api.http يوفر واجهة سهلة الاستخدام لتنفيذ نقاط النهاية التي تم تنفيذها.
GET /healthملخص : يتحقق من الحالة الصحية لـ API.
الردود :
200 حسنا
" Database connection is healthy. "503 خدمة غير متوفرة
" Database connection isn't available. "500 خطأ خادم داخلي
" An error occurred while checking the database connection. "GET /productsملخص : يسترجع جميع المنتجات.
الردود :
[
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " UN " ,
"price" : 9.99
}
]GET /products/{id}ملخص : يسترجع المنتج حسب هويته.
حدود :
id (عدد صحيح): معرف المنتج لاسترداده.الردود :
200 حسنا
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " UN " ,
"price" : 9.99
}404 لم يتم العثور عليها
{
"message" : " Product with ID {id} not found. "
}POST /productsملخص : يخلق منتجًا جديدًا.
طلب الجسم :
{
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 9.99
}الردود :
201 خلق
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 9.99
}400 طلب سيء
{
"message" : " Validation error messages "
}PUT /products/{id}ملخص : تحديث منتج موجود.
حدود :
id (عدد صحيح): معرف المنتج الذي تم تحديثه.طلب الجسم :
{
"name" : " Updated Product Name " ,
"unitOfMeasurement" : " Updated Unit " ,
"price" : 9.99
}الردود :
200 حسنا
{
"id" : 1 ,
"name" : " Updated Product Name " ,
"unitOfMeasurement" : " Updated Unit " ,
"price" : 9.99
}400 طلب سيء
{
"message" : " Validation error messages "
}404 لم يتم العثور عليها
{
"message" : " Product with ID {id} not found. "
}DELETE /products/{id}ملخص : حذف منتج حسب هويته.
حدود :
id (عدد صحيح): معرف المنتج لحذفه.الردود :
204 لا محتوى
400 طلب سيء
{
"message" : " Error message "
}404 لم يتم العثور عليها
{
"message" : " Product with ID {id} not found. "
}409 الصراع
{
"message" : " Cannot delete the product as it has associated sale items. "
}GET /salesملخص : يسترجع جميع المبيعات (التاريخية).
الردود :
[
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00
}
]
}
]GET /sales/{id}ملخص : يسترجع عملية بيع بواسطة هويته.
حدود :
id (عدد صحيح): معرف البيع لاسترداده.الردود :
200 حسنا
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00
}
]
}404 لم يتم العثور عليها
{
"message" : " Sale with ID {id} not found. "
}POST /salesملخص : يخلق بيع جديد.
طلب الجسم :
{
"saleDate" : " 2024-08-14T00:00:00Z " ,
"zipCode" : " 12345678 " ,
"saleItems" : [
{
"productId" : 1 ,
"quantity" : 2
}
]
}الردود :
201 خلق
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00 ,
"product" : {
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 50.00
}
}
]
}400 طلب سيء
{
"message" : " Validation error messages "
}DELETE /sales/{id}ملخص : حذف (إلغاء) عملية بيع بواسطة معرفها.
حدود :
id (عدد صحيح): معرف البيع للحذف.الردود :
204 لا محتوى
400 طلب سيء
{
"message" : " Error message "
}404 لم يتم العثور عليها
{
"message" : " Sale with ID {id} not found. "
}