From 34aa1bbd58d17cee7aa838fd66e345513890d051 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 15 Feb 2021 15:15:43 +0100 Subject: [PATCH] Specify recipient e-mail for notifications; remove it for sandbox --- models/shipcloud.py | 8 ++++++-- models/shipcloud_delivery_carrier.py | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/models/shipcloud.py b/models/shipcloud.py index ff0b41e..95c8215 100644 --- a/models/shipcloud.py +++ b/models/shipcloud.py @@ -94,6 +94,9 @@ class api(object): # Assume if the user passed a sandbox API key, we use it for create shipment requests sandbox = True if self._transport._auth_sandbox else False sh = shipment.copy() + # don't send any shipping notifications to the real recipient when in sandbox + if sandbox: + sh['notification_mail'] = None sh['create_shipping_label'] = gen_label res = self._transport.rest_post('/shipments', sh, sandbox) # {u'label_url': u'https://shipping-labels.shipcloud.io/shipments/a948e8c2/e3fb26be59/label/shipping_label_e3fb26be59.pdf', u'price': 0.0, u'id': u'e3fb26be59a68acd04d565dda027efd415ca8117', u'tracking_url': u'https://track.shipcloud.io/e3fb26be59a68acd04d565dda027efd415ca8117', u'carrier_tracking_no': u'1ZV306W00493609016'} @@ -165,7 +168,8 @@ def gen_package(width_cm, length_cm, height_cm, weight_kgs, value=None, currency return package -def gen_shipment(from_addr, to_addr, pkg, ref, carrier='ups', service='one_day', label_fmt='pdf_a5', descr=None, customs_decl=None, incoterm='dap'): +def gen_shipment(from_addr, to_addr, pkg, ref, carrier='ups', service='one_day', label_fmt='pdf_a5', + descr=None, customs_decl=None, incoterm='dap', notification_mail=None): """Generate a dict for a shipment in accordance with https://developers.shipcloud.io/reference/shipments_request_schema.html""" shipment = { @@ -178,7 +182,7 @@ def gen_shipment(from_addr, to_addr, pkg, ref, carrier='ups', service='one_day', 'label': { 'format': label_fmt, }, - 'notification_mail': 'hwelte@sysmocom.de', + 'notification_mail': notification_mail, 'incoterm': incoterm, 'create_shipping_label': False, } diff --git a/models/shipcloud_delivery_carrier.py b/models/shipcloud_delivery_carrier.py index 42ea0b2..8743efe 100644 --- a/models/shipcloud_delivery_carrier.py +++ b/models/shipcloud_delivery_carrier.py @@ -227,7 +227,8 @@ class SCDeliveryCarrier(models.Model): # build the actual shipment object shp = shipcloud.gen_shipment(from_addr, to_addr, pkg, pickings.name, customs_decl=customs, carrier=carrier_service.carrier, service=carrier_service.service, - label_fmt=carrier_service.label_size, descr=content_desc) + label_fmt=carrier_service.label_size, descr=content_desc, + notification_mail=recipient.email or None) api = self._shipcloud_api() try: _logger.debug("shipcloud Shipment dict: %s", shp)