Skip to main content

Eloqua implementation for Django, WIP!

Installation

Installation is easiest done via pip:

$ pip install django-eloqua

Setup

Add eloqua to your INSTALLED_APPS section, and add this to your settings.py:

ELOQUA_SITE_ = 'ACME.Inc'
ELOQUA_USERNAME = 'my-api-user'
ELOQUA_PASSWORD = 'my-api-user-password'

If you are planning on using the model field, you should also run the migrations via South:

$ manage.py migrate eloqua

If you want to use the landingpages integration, add the urls, eg:

# in urls.py
url(r'^eloqua/', include('eloqua.urls')),

You can than reach your landingpages via: /eloqua/[id], or with slug: /eloqua/[id]-[slug], the slug is optional, as there currently is no way of fetching a landingpage by the slug :(

And here are some optional settings:

ELOQUA_PROFILE_TIMEOUT = 60 * 60 * 24  # the default amount of time, a profile data is cached in the database
ELOQUA_BASE_URL = 'https://secure.eloqua.com/API/REST/1.0'  # you might want to override the default base url (eg: local reverse proxy, etc)

Usage

You can access the functionality through the EloquaClient, eg, sending a mail:

from eloqua.clients import EloquaClient
e = EloquaClient()
e.emails.create('foobar-name', 'foobar-subject', 'my-body')
# etc. See the docstrings

By default, the user models gets extended with a eloqua_profile property. The matching is done by email address. If the user is found in Eloqua, the contact id is stored locally for future reference:

from django.contrib.auth.models import User
u = User.objects.get(pk=1)
print u.eloqua_profile.first_name, u.eloqua_profile.last_name
# prints 'foo bar' (or whatever is stored in Eloqua)

You can also get an arbitrary contact field for this user:

from django.contrib.auth.models import User
u = User.objects.get(pk=1)
u.eloqua_profile.value_for_field(100171)  # this is the default Eloqua domain field
# prints 'example.com' (or whatever is stored in Eloqua)

You can also use the commandline tool, eg:

$ ./application/manage.py send_mail_from_url --url=http://www.example.com/
# this will fetch the url, and create a mail in Eloqua with the body of that url
# the default subject/name will be the title of the page (via BeautifulSoup), you
# can pass extra variables for the subject and reply-to etc

Roadmap

  • Landingpages (to be able to include them)

  • Coupling/syncing with a django user model?

  • Using Eloqua as a standard smtp django backend, perhaps?

  • …

  • Moar… I mainly focussed on the Contacts, Email and Landingpage sections, as that was the stuff we needed the most. Implementing the other features would be fairly trivial, so get cracking and send in a pull request :)

Metadata

Release files for django-eloqua 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-eloqua 0.4.1
File Size Uploaded Provenance Actions
django-eloqua-0.4.1.tar.gz 18.1 kB Without provenance Details for django-eloqua-0.4.1.tar.gz

Release files / django-eloqua-0.4.1.tar.gz

Download URL django-eloqua-0.4.1.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7e40d70dbccc54428d41b0e79e1c70bd5c083bb8e4a2f3883593b8e80693ce7a
BLAKE2b-256 checksum
How to use checksums
7d927a80e20e6b682ce850d1ae5b264a7e2d25731ebc0e4c6fe53ef81e889927
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for django-eloqua 0.4.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page