Eloqua library
Project description
Eloqua Python Connector
Python 3 library for using the Eloqua API
Features
Manage your connection
elq = EloquaConnection(COMPANY, USERNAME, PASSWORD)
CRUD actions with Eloqua Assets (Custom Objects, Forms, Emails, Landing Pages)
dog_owner_custom_object = CustomObject()
dog_owner_custom_object.raw_data = {
"name": "TEST_Dog_Owner",
"description": "Testing Custom Object for dog owners",
"fields": [
{
"name": "DogBreed",
"displayType": "text",
"dataType": "text"
},
{
"name": "StartOfOwnership",
"displayType": "text",
"dataType": "date"
},
{
"name": "AgeAtStartOfOwnership",
"displayType": "text",
"dataType": "number"
},
{
"name": "DogColor",
"displayType": "text",
"dataType": "text"
},
{
"name": "DogName",
"displayType": "text",
"dataType": "text"
}
]
}
elq.create(dog_owner_custom_object)
Generate Usable Models from Custom Objects
Generate model code. Useful for when you have data stored in Eloqua like a database.
object_code = elq.generate_custom_object_code("Dog_Owner_0003", class_name="DogOwner")
print (object_code)
Yields:
class DogOwner(CustomObjectModel):
NAME = "Dog_Owner_0003"
PARENT_ID = "501"
FIELDS = ["DogName1", "Breed1", "DateOfOwnership1"]
ID_FIELD_MAP = {
"123" : "DogName1",
"124" : "Breed1",
"125" : "DateOfOwnership1"
}
DogName1 = None
Breed1 = None
DateOfOwnership1 = None
CRUD actions with Custom Object Data Models
first_dog_owner = elq.get(DogOwner, record_id='1')
all_corgi_dog_owners = elq.get_list(DogOwner,
params={
"search" : "Breed1='Corgi'"
}
)
first_dog_owner.name = "New Dog Name"
elq.update(first_dog_owner)
elq.delete(first_dog_owner)
Variable Paths
The paths.py
holds all the paths used for interaction with the API.
Sometimes, a certain API versions works better than others so this is a place where you can change that.
# Login
DEFAULT_LOGIN_URL = "https://login.eloqua.com/id"
# Forms
FORM_CREATE_PATH = "/api/REST/2.0/assets/form"
FORM_DELETE_PATH = "/api/REST/2.0/assets/form/{id}"
FORM_UPDATE_PATH = "/api/REST/2.0/assets/form/{id}"
FORM_GET_PATH = "/api/REST/2.0/assets/form/{id}"
FORM_GET_LIST_PATH = "/api/REST/2.0/assets/forms"
# Custom Objects
CUSTOM_OBJECT_CREATE_PATH = "/api/REST/2.0/assets/customObject"
CUSTOM_OBJECT_DELETE_PATH = "/api/REST/2.0/assets/customObject/{id}"
CUSTOM_OBJECT_UPDATE_PATH = "/api/REST/2.0/assets/customObject/{id}"
CUSTOM_OBJECT_GET_PATH = "/api/REST/2.0/assets/customObject/{id}"
CUSTOM_OBJECT_GET_LIST_PATH = "/api/REST/2.0/assets/customObjects"
...
Testing
To perform testing, it is preferable to use your sandbox instance.
- Create a
eloqua/test/creds.py
file. An outline is provided in example_creds.py - Run
eloqua/test/test.py
unittests
Requirements
- Python 3
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
eloqua-lib-0.0.1.tar.gz
(10.2 kB
view hashes)
Built Distribution
eloqua_lib-0.0.1-py3-none-any.whl
(12.3 kB
view hashes)
Close
Hashes for eloqua_lib-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d05018ac52b64429f45fcd7bc783da99d809585af125011c09c35b91f1caf6bc |
|
MD5 | f3aade972f0b5c48b3300a749ef6a0d6 |
|
BLAKE2b-256 | eb56d08b4036d9d5233321824c0d6f698f8b9a76a3049ccd85ceec9fe31839de |