комит
This commit is contained in:
@@ -441,4 +441,47 @@ def api_create_customer(request):
|
||||
return JsonResponse({
|
||||
'success': False,
|
||||
'error': f'Ошибка сервера: {str(e)}'
|
||||
}, status=500)
|
||||
}, status=500)
|
||||
|
||||
|
||||
@require_http_methods(["POST"])
|
||||
def api_create_system_customer(request):
|
||||
"""
|
||||
Создать или получить системного анонимного клиента для POS.
|
||||
|
||||
Идентификаторы системного клиента:
|
||||
- email: system@pos.customer
|
||||
- name: АНОНИМНЫЙ ПОКУПАТЕЛЬ (POS)
|
||||
- loyalty_tier: 'no_discount'
|
||||
- notes: 'SYSTEM_CUSTOMER'
|
||||
|
||||
Поведение:
|
||||
- Если клиент уже существует (по уникальному email), новый не создаётся.
|
||||
- Если не существует — создаётся с указанными полями.
|
||||
- Возвращает JSON с признаком, был ли создан новый клиент.
|
||||
|
||||
Возвращаемый JSON:
|
||||
{
|
||||
"success": true,
|
||||
"created": false, # или true, если впервые создан
|
||||
"id": 123,
|
||||
"name": "АНОНИМНЫЙ ПОКУПАТЕЛЬ (POS)",
|
||||
"email": "system@pos.customer"
|
||||
}
|
||||
"""
|
||||
customer, created = Customer.objects.get_or_create(
|
||||
email="system@pos.customer",
|
||||
defaults={
|
||||
"name": "АНОНИМНЫЙ ПОКУПАТЕЛЬ (POS)",
|
||||
"loyalty_tier": "no_discount",
|
||||
"notes": "SYSTEM_CUSTOMER",
|
||||
},
|
||||
)
|
||||
|
||||
return JsonResponse({
|
||||
"success": True,
|
||||
"created": created,
|
||||
"id": customer.pk,
|
||||
"name": customer.name,
|
||||
"email": customer.email,
|
||||
})
|
||||
Reference in New Issue
Block a user