Dnoticias Services
Project description
dnoticias_services
Import:
from dnoticias_services.<module> import <function_name>
eg:
from dnoticias_services.communications import send_email
Modules:
- authentication
- payments
- utils
- subscriptions
- editions
Methods:
-
Authentication
-
create_user: Creates a new user in keycloak
create_user(email, first_name='', last_name='', enabled=True, email_verified=False, password=None, temporary_password=True, is_staff=False, is_superuser=False, max_sessions=2, send_email_to_user=False)
-
update_user: Updates an existing user in keycloak and backends
update_user(email, first_name='', last_name='', enabled=True, is_staff=False, is_superuser=False, max_sessions=2, update_attributes=True)
-
update_password: Updates an user password. Can send notification emails too.
update_password(email, password, temporary=False, send_email_to_user=False)
-
get_token: Gets an user token.
get_token(email, password)
-
refresh_token: Refresh an user token.
refresh_token(refresh_token)
-
logout_user: Logouts an user using his refresh token.
logout_user(refresh_token)
-
send_update_account: Sends an update action to the given account. I.e: UPDATE_PASSWORD
send_update_account(email, action)
-
keycloak_user_exists: Checks if a given email address exists on keycloak
keycloak_user_exists(email)
-
-
Mail
-
create_campaign
create_campaign(template_uuid, brand_group_uuid, newsletter_uuid, title, subject, context=dict(), from_email=None, from_name=None, track_opens=True, track_clicks=True, api_key=None, timeout=None)
-
send_campaign
send_campaign(template_uuid, brand_group_uuid, newsletter_uuid, title, subject, context=dict(), from_email=None, from_name=None, track_opens=True, track_clicks=True, api_key=None, timeout=None)
-
send_email
send_email(email, template_uuid, brand_group_uuid, subject, context=dict(), from_email=None, from_name=None, attachments=[], track_opens=True, track_clicks=True, api_key=None, timeout=None)
-
send_email_bulk
send_email_bulk(emails=[], template_uuid=None, brand_group_uuid=None, subject="", context=list(), from_email=None, from_name=None, attachments=[], track_opens=True, track_clicks=True, api_key=None, timeout=None)
-
-
Payments
-
Items
-
create_item Creates an item from dnoticias-payments via API
create_item(name, slug, price, active=True, extra_attrs=dict(), description="", images=dict(), shippable=False, interval=None, interval_count=None, trial_interval=None, trial_interval_count=None, offers=[], category=None, api_key=None, timeout=None)
-
update_item: Updates an item from dnoticias-payments via API
update_item(uuid, name=None, slug=None, extra_attrs=None, description=None, price=None, active=None, images=None, shippable=None, interval=None, interval_count=None, trial_interval=None, trial_interval_count=None, offers=None, category=None, api_key=None, timeout=None)
-
delete_item: Deletes an item from dnoticias-payments via API
delete_item(uuid, api_key=None, timeout=None)
-
get_item: Gets an item by its slug or accounting id
get_item(slug=None, accounting_id=None, api_key=None, timeout=None)
-
-
Orders
-
get_user_order_datatable: Gets all the user orders from dnoticias-payments. Works only with datatables.
get_user_order_datatable(request, user_email, api_key=None)
-
get_user_orders: Gets all the user orders from dnoticias-payments.
get_user_orders(user_email, api_key=None)
-
get_order_detail: Gets all the info for a given order.
get_order_detail(order_id, api_key=None)
-
-
Subscriptions
-
get_subscription: Get the subscription data for an user.
get_subscription(email, status, api_key=None, timeout=None)
-
-
Payments
-
setup_payment_intent: Setup a intent to add payment details to the customer or to the subscription
setup_payment_intent(email=None, subscription_id=None, api_key=None)
-
change_subscription_payment_method : Changes the default payment method of a subscription
change_subscription_payment_method(subscription_id, payment_method, api_key=None)
-
generate_payment_details : Generate a payment from email, item and the method
generate_payment_details(email, payment_provider_id, item_id=None, amount=None, api_key=None)
-
create_order: Creates a new order for a given user
create_order(context, api_key=None)
-
-
Coupons
- get_coupon: Get a coupon information from payments.
get_coupon(coupon_remote_id, api_key=None)
- get_suitable_coupons: Gets all the suitables coupons for an item (no expiration time, unlimited uses, etc).
get_suitable_coupons(item_remote_id, api_key=None)
- get_coupon: Get a coupon information from payments.
-
Providers
-
get_payment_providers: Gets all the payment providers with status active created in dnoticias-payments.
get_payment_providers(request, api_key=None)
-
-
-
Utils
-
request_object: Replicates the request object from django. Used to datatables.
Same methods/attrs as the original request. Used to provide the request information to datatables because the original one is inmutable.
-
-
Subscriptions
- get_user_notifications: Gets all the non-opened notifications for an specific user by its email
get_user_notifications(email, api_key=None)
- get_user_components: Gets all the components for an specific user by its email. The response contain paper components and digital components with its roles.
get_user_components(email, api_key=None)
- get_subscriptions: Gets the user subscriptions.
get_subscriptions(api_key=None)
- get_roles_select2: Gets all the roles from subscriptions. Only works with select2.
get_roles_select2(api_key=None)
- get_roles: Gets all the roles from subscriptions.
get_roles(api_key=None)
- delete_subscription_coupon: Delete a coupon (clear field) for all the items that had used it.
delete_subscription_coupon(remote_id, api_key=None)
- get_user_notifications: Gets all the non-opened notifications for an specific user by its email
Settings
-
Authentication
- KEYCLOAK_SERVER_URL
- KEYCLOAK_ADMIN_REALM_NAME
- KEYCLOAK_USER_REALM_NAME
- KEYCLOAK_ADMIN_USERNAME
- KEYCLOAK_ADMIN_PASSWORD
- KEYCLOAK_CLIENT_ID
- KEYCLOAK_CLIENT_SECRET_KEY
- DEFAULT_FROM_EMAIL
- MAIL_USER_PASSWORD_NOTIFICATION_TEMPLATE_UUID
- EMAIL_BRAND_GROUP_UUID
- MAIL_USER_PASSWORD_NOTIFICATION_SUBJECT
- MAIL_USER_CREATION_SUBJECT
-
Mail
- MAIL_SERVICE_ACCOUNT_API_KEY
- MAIL_SERVICE_REQUEST_TIMEOUT
- SEND_EMAIL_API_URL (https://comunicacao.dnoticias.pt/api/send/mail/)
- SEND_EMAIL_BULK_API_URL (https://comunicacao.dnoticias.pt/api/send/mail/bulk/)
- SEND_CAMPAIGN_API_URL (https://comunicacao.dnoticias.pt/api/send/campaign/)
- CREATE_CAMPAIGN_API_URL (https://comunicacao.dnoticias.pt/api/send/create/campaign/)
- EMAIL_USER_DATATABLE_LIST_API_URL (http://xyz.dnoticias.pt/api/user/{}/mails/datatable/)
-
Payments
- PAYMENT_SERVICE_ACCOUNT_API_KEY
- PAYMENT_SERVICE_REQUEST_TIMEOUT
- ITEM_API_URL (https://xyz.dnoticias.pt/api/items/)
- ORDER_USER_DATATABLE_LIST_API_URL (https://payments.dnoticias.pt/api/user/{}/orders/datatable/)
- PAYMENT_PROVIDERS_SELECT2VIEW_API_URL (https://payments.dnoticias.pt/api/payment/providers/select2/{}/)
- ORDER_USER_LIST_API_URL (https://payments.dnoticias.pt/api/user/{}/orders/)
- ORDER_DETAIL_API_URL (https://payments.dnoticias.pt/api/order/{}/)
- ORDER_CREATE_API_URL (https://payments.dnoticias.pt/api/order/create/)
- PAYMENTS_GET_SINGLE_COUPON_API_URL (https://payments.dnoticias.pt/api/coupon/{}/)
- PAYMENTS_GET_COUPONS_API_URL (https://payments.dnoticias.pt/api/coupons/select2/)
- PAYMENTS_GET_REMOTE_ID_API_URL (https://payments.dnoticias.pt/api/items/get/remote_id/)
- PAYMENTS_GET_SUBSCRIPTION_API_URL (https://payments.dnoticias.pt/api/subscriptions/get/)
-
Subscriptions
- SUBSCRIPTION_SERVICE_ACCOUNT_API_KEY
- SUBSCRIPTION_SERVICE_REQUEST_TIMEOUT
- USER_NOTIFICATION_API_URL (http://xyz.dnoticias.pt/api/user-notifications/{}/)
- USER_COMPONENTS_API_URL (http://xyz.dnoticias.pt/api/user-components/{}/)
- BILLING_API_URL
- ADDRESS_API_URL
- ROLES_API_URL
- ROLES_SELECT2_API_URL
- USER_ROLES_API_URL
- USER_SUBSCRIPTIONS_API_URL
- SUBSCRIPTION_DELETE_COUPON_API_URL
-
Editions
- EDITIONS_USER_CONSUMABLES_API_URL (https://edicao.dnoticias.pt/api/1_0/user/{}/consumables/)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django_dnoticias_services-1.1.2.tar.gz
.
File metadata
- Download URL: django_dnoticias_services-1.1.2.tar.gz
- Upload date:
- Size: 48.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dae2c98d342f1aa61b93164bd7ac18ce79e5d7ecda4817406b9c59164ff0d539 |
|
MD5 | 87bbe82c35d2ffc56ba3df378aa134f5 |
|
BLAKE2b-256 | 1381e44a130c798589d509ccda650d8071cee094f033d18b713ce901c38fcb5f |