added new_user_by_card function

This commit is contained in:
Sergey
2024-08-09 20:51:38 +03:00
parent 273b97bbc7
commit 6ad5e18879
2 changed files with 76 additions and 12 deletions

View File

@@ -2,6 +2,7 @@
# -*- coding: utf-8 -*-
# __author__ = 'szhdanoff@gmail.com'
__version__ = '1.0.1'
import os
import requests
import json
@@ -28,7 +29,6 @@ app_token = os.getenv('APP_TOKEN')
pos_token = os.getenv('POS_TOKEN')
currency = os.getenv('CURRENCY', 'RUB')
HEADERS = {
'Authorization': f'dmtoken {pos_token}',
'DM-Authorization': f'dmapptoken {app_token}',
@@ -80,7 +80,7 @@ def get_user(search_id, get_type='auto', headers=None) -> tuple:
# return False, r.text
def new_user(full_name, phone, gender=None, foreign_card=None, email=None, headers=None):
def new_user(full_name, phone, gender=1, foreign_card=None, email=None, headers=None):
"""
A function that creates a new user with optional headers.
@@ -108,7 +108,7 @@ def new_user(full_name, phone, gender=None, foreign_card=None, email=None, heade
"full_name": full_name,
"phone": phone,
"email": email,
# "gender": gender,
"gender": gender,
}
r = requests.post(base_url, headers=headers, json=params)
@@ -165,7 +165,54 @@ def bonuses_update(
return False, r.json()
# user_date = new_user('Test2', '79039426493')
def new_user_by_card(external_card, full_name, phone, gender=1, email=None, headers=None, use_existing=True):
if headers is None:
headers = HEADERS
base_url = url + 'cards/'
params = {
'full_name': full_name,
'phone': phone,
'email': email,
'gender': gender,
'bind': use_existing,
'code': external_card,
'format': 'qrcode',
}
r = requests.post(base_url, headers=headers, json=params)
if r.status_code == 201:
return True, r.json()
else:
return False, r.text
def add_external_card(user_id, card, headers=None):
"""
Adds an external card to a user.
Args:
user_id (int): The ID of the user.
card (str): The card number.
headers (dict, optional): The headers to include in the request. Defaults to None.
Returns:
tuple: A tuple containing a boolean indicating the success of the request and the JSON response.
If the request is successful, the boolean is True and the JSON response is returned.
If the request is unsuccessful, the boolean is False and the JSON response is returned.
"""
if headers is None:
headers = HEADERS
base_url = url + 'users/cards/'
params = {
"card": card
}
r = requests.post(base_url, headers=headers, json=params)
if r.status_code == 201:
return True, r.json()
# user_date = new_user('Test2', '79039426493', email='YlEJp@example.com')
# print(user_date)
# 79039426498
@@ -183,17 +230,16 @@ def bonuses_update(
# print('purchases_url', purchases_url)
# добавление внешней карты лояльности
# добавление внешней карты лояльности
print(get_user('4620011139016689273132009'))
# print(get_user('4620011139016689273132009'))
# print(get_user('1234567890123'))
# print(get_user('+79039406889'))
# print(new_user())
# (True, '{"DIN":3152300,"ID":"4620011139016570939672611"}')
# print(bonuses_update(
# user_id=int('1002'),
# summ_total=100.00,
@@ -202,3 +248,10 @@ print(get_user('4620011139016689273132009'))
# sum_with_discount=90.00,
# sum_discount=10.00,
# ))
# print(get_user('79039426493', get_type='phone'))
# (True, {'DIN': 3155239, 'ID': '4620011139016802073627661'})
# print(new_user_by_card(
# external_card='1234567891235', full_name='Test', phone='79039426495', email='123321@example.com', use_existing=False
# ))