reviewCreate
نظرة عامة
اسمح للعملاء بإرسال تقييمات بعد تنفيذ الطلبات. قدم مفتاح الطلب، معدل الشحن الإجمالي، وتقييمات المنتجات المحددة عبر CreateReviewPayload.
- النوع: GraphQL Mutation
- Endpoint: https://subdomain.com
- المصادقة:
Authorization: Bearer <TOKEN>
Mutation
mutation CreateReview($input: CreateReviewPayload!) {
createReview(input: $input) {
success
data {
_id
app
order
shippingRate
note
isApproved
productRatings {
product
rating
note
_id
}
}
message
}
}
المتغيرات
{
"input": {
"orderKey": "<ORDER_KEY>",
"shippingRate": 4,
"note": "توصيل ممتاز",
"productRatings": [
{
"product": "<PRODUCT_ID>",
"rating": 5,
"note": "أحببت الجودة"
}
]
}
}
أمثلة
- cURL
- JavaScript (fetch)
curl -X POST \
https://subdomain.com\
-H "Content-Type": "application/json" \
-H "Authorization: Bearer <TOKEN>" \
--data-binary @- << 'EOF'
{
"query": "mutation CreateReview($input: CreateReviewPayload!) { createReview(input: $input) { success message data { _id shippingRate productRatings { product rating } } } }",
"variables": {
"input": {
"orderKey": "<ORDER_KEY>",
"shippingRate": 4,
"productRatings": [
{ "product": "<PRODUCT_ID>", "rating": 5, "note": "Great" }
]
}
}
}
EOF
const res = await fetch('https://subdomain.com', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + token,
},
body: JSON.stringify({
query: `
mutation CreateReview($input: CreateReviewPayload!) {
createReview(input: $input) {
success
message
data { _id shippingRate productRatings { product rating } }
}
}
`,
variables: {
input: {
orderKey: '<ORDER_KEY>',
shippingRate: 4,
productRatings: [
{ product: '<PRODUCT_ID>', rating: 5, note: 'Great' },
],
},
},
}),
});
const json = await res.json();
ملاحظات
- تحقق من
orderKeyعلى جانب الخادم للتأكد من أن الطلب ينتمي للعميل. - يمكن أن يتضمن
productRatingsإدخالات متعددة لكل منتج/متغير تم شراؤه. - ضع حداً لإنشاء التقييمات بتحديد المعدل أو حالة الإكمال لتجنب الرسائل غير المرغوبة.