{ "info": { "author": "Josh Norton", "author_email": "joshrnorton75@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Eloqua Python Connector\nPython 3 library for using the Eloqua API\n___ \n\n[Eloqua API Documentation Here](https://docs.oracle.com/cloud/latest/marketingcs_gs/OMCAC/rest-endpoints.html)\n\n\n## Features\n\n### Manage your connection\n``` python\nelq = EloquaConnection(COMPANY, USERNAME, PASSWORD)\n```\n\n### CRUD actions with Eloqua Assets (Custom Objects, Forms, Emails, Landing Pages)\n\n``` python\ndog_owner_custom_object = CustomObject()\ndog_owner_custom_object.raw_data = {\n \"name\": \"TEST_Dog_Owner\",\n \"description\": \"Testing Custom Object for dog owners\",\n \"fields\": [\n {\n \"name\": \"DogBreed\",\n \"displayType\": \"text\",\n \"dataType\": \"text\"\n },\n {\n \"name\": \"StartOfOwnership\",\n \"displayType\": \"text\",\n \"dataType\": \"date\"\n },\n {\n \"name\": \"AgeAtStartOfOwnership\",\n \"displayType\": \"text\",\n \"dataType\": \"number\"\n },\n {\n \"name\": \"DogColor\",\n \"displayType\": \"text\",\n \"dataType\": \"text\"\n },\n {\n \"name\": \"DogName\",\n \"displayType\": \"text\",\n \"dataType\": \"text\"\n }\n ]\n}\nelq.create(dog_owner_custom_object)\n\n```\n\n### Generate Usable Models from Custom Objects\nGenerate model code. Useful for when you have data stored in Eloqua like a database. \n``` python\nobject_code = elq.generate_custom_object_code(\"Dog_Owner_0003\", class_name=\"DogOwner\")\nprint (object_code)\n```\nYields:\n``` python\nclass DogOwner(CustomObjectModel):\n NAME = \"Dog_Owner_0003\"\n PARENT_ID = \"501\"\n FIELDS = [\"DogName1\", \"Breed1\", \"DateOfOwnership1\"]\n ID_FIELD_MAP = {\n \"123\" : \"DogName1\",\n \"124\" : \"Breed1\",\n \"125\" : \"DateOfOwnership1\"\n }\n DogName1 = None\n Breed1 = None\n DateOfOwnership1 = None\n\n```\n\n#### CRUD actions with Custom Object Data Models\n``` python\nfirst_dog_owner = elq.get(DogOwner, record_id='1')\n\nall_corgi_dog_owners = elq.get_list(DogOwner, \n params={\n \"search\" : \"Breed1='Corgi'\"\n }\n)\n\nfirst_dog_owner.name = \"New Dog Name\"\n\nelq.update(first_dog_owner)\n\nelq.delete(first_dog_owner)\n\n```\n\n### Variable Paths\nThe `paths.py` holds all the paths used for interaction with the API. \nSometimes, a certain API versions works better than others so this is a place where you can change that. \n\n```python\n# Login\nDEFAULT_LOGIN_URL = \"https://login.eloqua.com/id\"\n\n# Forms\nFORM_CREATE_PATH = \"/api/REST/2.0/assets/form\"\nFORM_DELETE_PATH = \"/api/REST/2.0/assets/form/{id}\"\nFORM_UPDATE_PATH = \"/api/REST/2.0/assets/form/{id}\"\nFORM_GET_PATH = \"/api/REST/2.0/assets/form/{id}\"\nFORM_GET_LIST_PATH = \"/api/REST/2.0/assets/forms\"\n\n# Custom Objects\nCUSTOM_OBJECT_CREATE_PATH = \"/api/REST/2.0/assets/customObject\"\nCUSTOM_OBJECT_DELETE_PATH = \"/api/REST/2.0/assets/customObject/{id}\"\nCUSTOM_OBJECT_UPDATE_PATH = \"/api/REST/2.0/assets/customObject/{id}\"\nCUSTOM_OBJECT_GET_PATH = \"/api/REST/2.0/assets/customObject/{id}\"\nCUSTOM_OBJECT_GET_LIST_PATH = \"/api/REST/2.0/assets/customObjects\"\n...\n```\n\n### Testing\nTo perform testing, it is preferable to use your sandbox instance. \n1. Create a `eloqua/test/creds.py` file. An outline is provided in example_creds.py\n2. Run `eloqua/test/test.py` unittests\n\n\n## Requirements\n* Python 3\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jnorton2/Eloqua", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "eloqua-lib", "package_url": "https://pypi.org/project/eloqua-lib/", "platform": "", "project_url": "https://pypi.org/project/eloqua-lib/", "project_urls": { "Homepage": "https://github.com/jnorton2/Eloqua" }, "release_url": "https://pypi.org/project/eloqua-lib/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "Eloqua library", "version": "0.0.1" }, "last_serial": 5415917, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f3aade972f0b5c48b3300a749ef6a0d6", "sha256": "d05018ac52b64429f45fcd7bc783da99d809585af125011c09c35b91f1caf6bc" }, "downloads": -1, "filename": "eloqua_lib-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f3aade972f0b5c48b3300a749ef6a0d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12328, "upload_time": "2019-06-18T15:11:11", "url": "https://files.pythonhosted.org/packages/eb/56/d08b4036d9d5233321824c0d6f698f8b9a76a3049ccd85ceec9fe31839de/eloqua_lib-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5e0701269bd71196e59a8ea0451fe8e", "sha256": "078dadedc417098ab9dd5f2107024ea1bf6ef580e12633a5594d359b8d2aedf8" }, "downloads": -1, "filename": "eloqua-lib-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c5e0701269bd71196e59a8ea0451fe8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10159, "upload_time": "2019-06-18T15:11:14", "url": "https://files.pythonhosted.org/packages/cc/e7/1bfc09aac38e533d3960ef12ec9253cfc3468f168bb567e817eed9286c44/eloqua-lib-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f3aade972f0b5c48b3300a749ef6a0d6", "sha256": "d05018ac52b64429f45fcd7bc783da99d809585af125011c09c35b91f1caf6bc" }, "downloads": -1, "filename": "eloqua_lib-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f3aade972f0b5c48b3300a749ef6a0d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12328, "upload_time": "2019-06-18T15:11:11", "url": "https://files.pythonhosted.org/packages/eb/56/d08b4036d9d5233321824c0d6f698f8b9a76a3049ccd85ceec9fe31839de/eloqua_lib-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5e0701269bd71196e59a8ea0451fe8e", "sha256": "078dadedc417098ab9dd5f2107024ea1bf6ef580e12633a5594d359b8d2aedf8" }, "downloads": -1, "filename": "eloqua-lib-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c5e0701269bd71196e59a8ea0451fe8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10159, "upload_time": "2019-06-18T15:11:14", "url": "https://files.pythonhosted.org/packages/cc/e7/1bfc09aac38e533d3960ef12ec9253cfc3468f168bb567e817eed9286c44/eloqua-lib-0.0.1.tar.gz" } ] }