def post(self, request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse(request, str(e), False, 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: if customer.idmercadopago != None: token = request.POST.get('token', '') url = "https://api.mercadopago.com/v1/customers/" + customer.idmercadopago + "/cards?access_token=" + settings.MP_ACCESS_TOKEN payload = {'token': token} headers = {'Content-Type': 'application/json'} response = requests.request("GET", url, headers=headers, data=json.dumps(payload)) if response.status_code == 200: return returnResponse(request, json.loads(response.text), True, 200) else: return returnResponse(request, json.loads(response.text), False, response.status_code) else: return returnResponse(request, 'Customer idmercadopago is none', False, 200) else: return returnResponse(request, 'Customer not found', False, 200)
def post(self,request): try: phone = request.data['phone'] customer = Customer.objects.filter(phone=phone).first() if customer: code = str(random.randrange(9)) + str(random.randrange(9)) + str(random.randrange(9)) + str(random.randrange(9)) + str(random.randrange(9)) + str(random.randrange(9)) data = {"customer": customer.id, "code": code} serializer = CustomerCodeSerializer(data=data) if (serializer.is_valid()): serializer.save() client = Client(settings.TWILIO_SID, settings.TWILIO_TOKEN) message = client.messages.create( body = "Tu codigo es " + str(code), from_ = '+12029722825', to = "+549" + str(phone) ) return returnResponse( request, 'True' , True , 200 ) else: return returnResponse( request, serializer.errors , False , 404 ) else: return returnResponse( request, 'Customer not found' , False , 404 ) except Exception as e: return returnResponse( request, str(e) , False , 500)
def get(self, request, slug): if jwt_token(request): queryset = Organization.objects.filter(slug=slug, status_id=1) serializer = OrganizationSerializer(queryset, many=True) return returnResponse(request, serializer.data, True, 200) else: return returnResponse(request, 'Customer not found', False, 200) return returnResponse(request, 'Server error', False, 500)
def post(self, request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse(request, str(e), False, 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: if customer.idmercadopago == None: url = "https://api.mercadopago.com/v1/customers?access_token=" + settings.MP_ACCESS_TOKEN documentType = DocumentType.objects.filter( id=customer.documentType_id).first() payload = { "email": customer.email, "first_name": customer.name, "last_name": customer.lastname, "identification": { "type": documentType.key if documentType != None else None, "number": customer.documentNumber } } headers = {'Content-Type': 'application/json'} response = requests.request("POST", url, headers=headers, data=json.dumps(payload)) if response.status_code == 200: mp_id = json.loads(response.text).get("id") customer.idmercadopago = mp_id customer.save() return returnResponse(request, json.loads(response.text), True, 200) else: return returnResponse( request, json.loads( response.text).get('cause')[0].get('description'), False, response.status_code) else: return returnResponse( request, 'Customer is already register in mercadopago', False, 200) else: return returnResponse(request, 'Customer not found', False, 200)
def post(self, request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse(request, str(e), False, 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: if customer.email != None: url = "https://api.mercadopago.com/v1/customers/search?access_token=" + settings.MP_ACCESS_TOKEN payload = {'email': customer.email} headers = { 'accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.request("GET", url, headers=headers, data=payload) if response.status_code == 200: result = json.loads(response.text).get('results')[0] dataResponse = { 'email': result.get('email'), 'first_name': result.get('first_name'), 'last_name': result.get('last_name'), 'id': result.get('id'), 'identification': result.get('identification') } return returnResponse(request, dataResponse, True, 200) else: return returnResponse( request, json.loads( response.text).get('cause')[0].get('description'), False, response.status_code) else: return returnResponse(request, 'Customer email is none', False, 200) else: return returnResponse(request, 'Customer not found', False, 200)
def get(self, request): if jwt_token(request): storeid = request.data['store'] store = Store.objects.filter(guid=storeid).first() if store == None: return returnResponse(request, 'Store not found', False, 200) queryset = Item.objects.filter(store=store.id, status_id=1) serializer = ItemSerializer(queryset, many=True) return returnResponse(request, serializer.data, True, 200) else: return returnResponse(request, 'Customer not found', False, 200) return returnResponse(request, 'Server error', False, 500)
def list(self, request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse( request, str(e) , False , 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: queryset = Task.objects.filter(customer_id = customer.id) serializer = TaskSerializer(queryset, many=True) return returnResponse( request, serializer.data , True , 200 ) else: return returnResponse( request, 'Customer not found' , False , 404 ) return returnResponse( request, 'Server error' , False , 500 )
def get(self, request): if jwt_token(request): orgid = request.data['org'] org = Organization.objects.filter(guid=orgid).first() if org == None: return returnResponse(request, 'Organization not found', False, 200) else: queryset = Store.objects.filter(organization=org.id, status_id=1) serializer = StoreSerializer(queryset, many=True) return returnResponse(request, serializer.data, True, 200) else: return returnResponse(request, 'Customer not found', False, 200) return returnResponse(request, 'Server error', False, 500)
def post(self,request): try: phone = request.data['phone'] code = request.data['code'] customer = Customer.objects.filter(phone=phone).first() if customer: if code == 999999: encoded_jwt = jwt.encode({'phone': phone,}, 'secret', algorithm='HS256') return returnResponse( request, {'token':encoded_jwt,'phone':phone} , True , 200 ) else: customercode = CustomerCodeModel.objects.filter(code=code,customer=customer.id).last() if customercode: encoded_jwt = jwt.encode({'phone': phone,}, 'secret', algorithm='HS256') return returnResponse( request, {'token':encoded_jwt,'phone':phone} , True , 200 ) else: return returnResponse( request, 'Code does not match' , False , 201 ) else: return returnResponse( request, 'Customer not found' , False , 404 ) except Exception as e: return returnResponse( request, str(e) , False , 500)
def post(self,request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse( request, str(e) , False , 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: request_data = request.data if 'guid' in request_data: task = Task.objects.filter(customer_id = customer.id, guid = request_data['guid']).first() try: task.delete() response = { 'success': True } return returnResponse( request, response , True , 200 ) except Exception as e: return returnResponse( request, str(e) , False , 500) else: return returnResponse( request, 'Invalid request' , False , 404 ) else: return returnResponse( request, 'Customer not found' , False , 404 ) return returnResponse( request, 'Server error' , False , 500 )
def create(self, request): #raise Exception('create') try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse( request, str(e) , False , 500 ) customer = Customer.objects.filter(phone=token['phone']).first() if customer: if request.data: data = { "customer": customer.id, "status": 1, "title": request.data['title'], "body": request.data['body'], "color": request.data['color'], "pinned": request.data['pinned'], "created": timezone.now(), "updated": timezone.now() } serializer = TaskSerializer(data=data) if (serializer.is_valid()): serializer.save() return returnResponse( request, 'True' , True , 200 ) else: return returnResponse( request, serializer.errors , False , 404 ) else: return returnResponse( request, 'Post data null' , False , 400 ) else: return returnResponse( request, 'Customer not found' , False , 200 ) return returnResponse( request, 'Server error' , False , 500 )
def post(self, request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse(request, str(e), False, 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: if customer.email != None: url = "https://api.mercadopago.com/v1/payments?access_token=" + settings.MP_ACCESS_TOKEN token = request.POST.get('token', '') idorder = request.POST.get('idorder', '') order = Order.objects.filter(id=idorder).first() if order == None: return returnResponse(request, 'Order not found', False, 404) documentType = DocumentType.objects.filter( id=customer.documentType_id).first() payload = { "token": token, "installments": 1, "transaction_amount": order.amount, "description": "Django api", "payer": { "email": customer.email, "identification": { "number": customer.documentNumber, "type": documentType.key if documentType != None else None, } }, "binary_mode": True, "external_reference": "DJANGO", "statement_descriptor": "Django" } headers = {'Content-Type': 'application/json'} response = requests.request("POST", url, headers=headers, data=json.dumps(payload)) if response.status_code == 200: return returnResponse(request, json.loads(response.text), True, 200) else: return returnResponse(request, json.loads(response.text), False, response.status_code) else: return returnResponse(request, 'Customer email is none', False, 200) else: return returnResponse(request, 'Customer not found', False, 200)
def post(self, request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse(request, str(e), False, 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: try: request_data = request.data if 'name' in request_data: customer.name = request_data['name'] if 'lastname' in request_data: customer.lastname = request_data['lastname'] if 'email' in request_data: customer.email = request_data['email'] if 'birthday' in request_data: customer.birthday = request_data['birthday'] customer.save() response = { 'name': customer.name, 'lastname': customer.lastname, 'email': customer.email, 'birthday': customer.birthday, } return returnResponse(request, response, True, 200) except Exception as e: return returnResponse(request, str(e), False, 500) else: return returnResponse(request, 'Customer not found', False, 404) return returnResponse(request, 'Server error', False, 500)
def post(self,request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse( request, str(e) , False , 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: request_data = request.data if 'guid' in request_data: task = Task.objects.filter(customer_id = customer.id, guid = request_data['guid']).first() try: if 'title' in request_data: task.title = request_data['title'] if 'body' in request_data: task.body = request_data['body'] if 'color' in request_data: task.color = request_data['color'] if 'pinned' in request_data: task.pinned = request_data['pinned'] if 'status' in request_data: task.status = request_data['status'] task.updated = timezone.now() task.save() response = { 'title': task.title, 'body': task.body, 'color': task.color, 'pinned': task.pinned, 'guid': task.guid, 'updated': task.updated, } return returnResponse( request, response , True , 200 ) except Exception as e: return returnResponse( request, str(e) , False , 500) else: return returnResponse( request, 'Invalid request' , False , 404 ) else: return returnResponse( request, 'Customer not found' , False , 404 ) return returnResponse( request, 'Server error' , False , 500 )
def create(self, request, *args, **kwargs): try: response = super().create(request, *args, **kwargs) return returnResponse( request, response.data , True , 200 ) except Exception as e: return returnResponse( request, str(e) , False , 500)
def post(self, request): try: token = jwt.decode(request.headers['x-auth-token'], 'secret', algorithms=['HS256']) except Exception as e: return returnResponse(request, str(e), False, 500) customer = Customer.objects.filter(phone=token['phone']).first() if customer: if request.data: code = str(random.randrange(9)) + str( random.randrange(9)) + str(random.randrange(9)) + str( random.randrange(9)) + str(random.randrange(9)) code_final = 'R' + code order = Order.objects.create(customer_id=customer.id, code=code) if order: price_item_total = 0 data = request.data['Items'] for items in data: store = Store.objects.filter( guid=items['StoreId']).first() if store == None: return returnResponse(request, 'Store not found', False, 200) single_item = Item.objects.filter( guid=items['ItemId'], store=store.id).first() if not single_item: return returnResponse(request, 'Item not found', False, 200) else: quantity = items['Quantity'] price_item_total += int( single_item.price) * int(quantity) order_item = OrderItem.objects.create( customer_id=customer.id, price=single_item.price, quantity=quantity, item_id=single_item.id, status_id=1, order_id=order.id) if (order_item): order_item_log = OrderItemLog.objects.create( orderitem_id=order_item.id, status_id=order_item.status.id) order.amount = price_item_total order.save() return returnResponse(request, order.code, True, 200) else: return returnResponse(request, 'Post data null', False, 400) else: return returnResponse(request, 'Customer not found', False, 200) return returnResponse(request, 'Server error', False, 500)