{ "info": { "author": "Brendan Quinn", "author_email": "brendan@cluefulmedia.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3" ], "description": "pats - Interface to the PATS API\n================================\n\nPython API wrapper for PATS, the Publishers Advertising Transaction System\n(http://www.pats.org.uk/)\n\nCurrently built for Python 3 only - please let me know if you require Python 2 support.\n\nInstallation\n------------\n\nInstalling from PyPI::\n\n pip install -e git://github.com/bquinn/pats-api-python.git#egg=pats-api-python\n\nUsage\n-----\n\nExample::\n\n import pats\n\n pats_buyer = pats.PATSAPIClient(api_key=PATS_AGENCY_API_KEY, agency_id=AGENCY_ID)\n pats_seller = pats.PATSAPIClient(api_key=PATS_PUBLISHER_API_KEY, vendor_id=VENDOR_ID)\n\n # create a new campaign\n campaign_details = pats.CampaignDetails(\n organisation_id = 'xxxxxx',\n person_id = 'yyyyy',\n company_id = 'COMPANYID',\n campaign_name = 'PATS API test campaign 1',\n start_date = '2015-02-01',\n end_date = '2015-02-28',\n advertiser_code = 'AAB',\n print_campaign=True,\n digital_campaign=True,\n campaign_budget = 1000000,\n external_campaign_id= 'BQTESTCAMPAIGN1'\n )\n\n campaign_id = pats_buyer.create_campaign(campaign_details)\n # returns PATS Campaign ID eg 'CPZVF'\n\n insertion_order_details = InsertionOrderDetails(\n order_id='MyTestOrder-0001',\n publisher_id=PATS_PUBLISHER_ID,\n agency_buyer_first_name='Brendan',\n agency_buyer_last_name='Quinn',\n agency_buyer_email='brendan@patsbuyer.com',\n order_number='1111',\n recipient_emails=['patsdemo@patsseller.com'],\n terms_and_conditions=[{\"name\":\"Test Ts and Cs\", \"content\":\"Test Ts and Cs\"}],\n respond_by_date='2015-01-27',\n additional_info='No additional info',\n message='This is the message sent with the order',\n notify_emails=['brendan@patswatcher.com']\n )\n\n line_item_1 = InsertionOrderLineItemDigital(\n lineNumber=\"1\",\n externalPlacementId=\"TestOrder-Monday-PATSTest-1-001\",\n placementName=\"Sport Banner\",\n costMethod=\"CPM\",\n unitAmount=\"2000000\",\n plannedCost=\"30000.00\",\n unitType=\"Impressions\",\n section=\"Sport\",\n subMediaType=\"Display (Digital)\",\n productId=\"PATSSPORTBANNER\",\n buyCategory=\"Standard\",\n packageType=\"Standalone\",\n site=\"mysite.co.uk\",\n rate=\"15.00\",\n flightStart=\"2015-02-01\",\n flightEnd=\"2015-02-28\",\n dimensions=\"468x60\",\n dimensionsPosition=\"Above the Fold\",\n servedBy=\"3rd party\",\n bookingCategoryName=\"Standalone\",\n flighting=[\n {\n \"startDate\": \"2015-02-01\",\n \"endDate\": \"2015-02-28\",\n \"unitAmount\": 2000000,\n \"plannedCost\": \"30000.00\"\n }\n ]\n )\n line_items = [ line_item_1 ]\n response = pats_buyer.create_order(\n agency_id=agency_id,\n company_id=company_id,\n person_id=person_id,\n external_campaign_id=external_campaign_id,\n media_type=media_type,\n insertion_order_details=insertion_order_details,\n line_items=line_items\n )\n # returns\n # {\n # \"status\":\"SUCCESSFUL\",\n # \"fieldValidations\":[],\n # \"publicId\":\"MyTestOrder-0001\",\n # \"version\":1\n # }\n \nFeatures so far\n---------------\n\nBuyer side:\n\n* Create campaign: ``create_campaign()``\n* View campaign including RFPs: ``view_campaign_detail()``\n* RFPs:\n\n * Submit RFP ``submit_rfp()`` (coming soon)\n * Submit product-based RFP: ``submit_product_rfp()`` (coming soon)\n * View RFP including proposals: ``view_rfp_detail(user_email, rfp_id)``\n * Get RFP attachment: ``get_rfp_attachment(user_email, rfp_id, attachment_id)``\n * Search RFPs: ``search_rfps()``\n * Get proposal attachment: ``get_proposal_attachment(user_email, proposal_id, attachment_id)``\n * Return proposal: ``return_proposal()`` (coming soon)\n\n* Orders:\n\n * Create print or digital order against a campaign: ``create_order()``\n * View orders between dates: ``view_orders(start_date, end_date)``\n * (NB: \"Get order status\" is changing for next version)\n * Return order revision: ``return_order_revision(order_public_id, order_major_version, order_minor_version, buyer_email, seller_email, revision_due_date, comment)``\n\n* Product Catalogue:\n\n * list products: ``list_products()``\n\n* Entity classes:\n\n * Constructors for ``CampaignDetails()``, ``InsertionOrderDetails()``, ``InsertionOrderLineItemPrint()``, ``InsertionOrderLineItemDigital()``\n\nSeller side:\n\n* Product Catalogue:\n\n * add or edit print or digital product: ``save_product()``\n * list products: ``list_products()``\n\n* Orders:\n\n * View orders between dates: ``view_orders(start_date, end_date)``\n * View detail of an order: ``view_order_detail(order_id)``\n * Accept or reject an order: ``respond_to_order(user_id, order_id, status, comments)``\n\n* RFPs:\n\n * View RFPs between dates: ``view_rfps(start_date, end_date)``\n * View proposals for an RFP: ``view_proposals(rfp_id)``\n * Send proposal against an RFP: ``send_proposal(rfp_id, proposal_external_id, comments, digital_line_items, print_line_items)``", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/bquinn/pats-api-python/archive/0.3.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bquinn/pats-api-python", "keywords": "api,publishing,advertising", "license": "", "maintainer": "", "maintainer_email": "", "name": "pats", "package_url": "https://pypi.org/project/pats/", "platform": "", "project_url": "https://pypi.org/project/pats/", "project_urls": { "Download": "https://github.com/bquinn/pats-api-python/archive/0.3.tar.gz", "Homepage": "https://github.com/bquinn/pats-api-python" }, "release_url": "https://pypi.org/project/pats/0.13/", "requires_dist": null, "requires_python": ">=3", "summary": "Client for the PATS API (www.pats.org.uk)", "version": "0.13" }, "last_serial": 3473548, "releases": { "0.13": [ { "comment_text": "", "digests": { "md5": "313b816632c454dbfb335632b9bcd4d1", "sha256": "287c4e56bd9a2aad140af90a051d5e35590840d1e120c15407e72affde7e09d2" }, "downloads": -1, "filename": "pats-0.13.tar.gz", "has_sig": false, "md5_digest": "313b816632c454dbfb335632b9bcd4d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 28953, "upload_time": "2018-01-09T09:09:29", "url": "https://files.pythonhosted.org/packages/80/52/4cabb5722f7586628c6af72f64be0bd177e2043cbfcf3217bc1e23fb023e/pats-0.13.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "2c7ecf8ceea5fed1e6dabd2a647bada2", "sha256": "622d42ca200318b10a5fdcb7504ac02aaf63452cfbd442bb6e8fff950a2efb8c" }, "downloads": -1, "filename": "pats-0.3.macosx-10.11-x86_64.tar.gz", "has_sig": false, "md5_digest": "2c7ecf8ceea5fed1e6dabd2a647bada2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52637, "upload_time": "2018-01-08T17:24:50", "url": "https://files.pythonhosted.org/packages/42/63/1921523042426a621c0324f1c2c1d766a9548d5afcaaeb7f505126c0dd00/pats-0.3.macosx-10.11-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "fddc47cd96d100dd03c04bd86e2c2c77", "sha256": "556b1043abadf7889b470f0aaf9dd2c6a5e53580480c803ca26ae8672554df61" }, "downloads": -1, "filename": "pats-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fddc47cd96d100dd03c04bd86e2c2c77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32897, "upload_time": "2018-01-08T17:24:49", "url": "https://files.pythonhosted.org/packages/62/96/a721fc1377312d024c6addda5a2394271ea4451a590930763adc9bb50128/pats-0.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "313b816632c454dbfb335632b9bcd4d1", "sha256": "287c4e56bd9a2aad140af90a051d5e35590840d1e120c15407e72affde7e09d2" }, "downloads": -1, "filename": "pats-0.13.tar.gz", "has_sig": false, "md5_digest": "313b816632c454dbfb335632b9bcd4d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 28953, "upload_time": "2018-01-09T09:09:29", "url": "https://files.pythonhosted.org/packages/80/52/4cabb5722f7586628c6af72f64be0bd177e2043cbfcf3217bc1e23fb023e/pats-0.13.tar.gz" } ] }