{ "info": { "author": "Armand Kulsh", "author_email": "armand.kulsh@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "# Help Scout API Wrapper\nThis package provide wrapper for Help Scout API 2.0. It gives access to all mailbox endpoints.\n\n## Instalation\nYou can install it from pypi: `pip install helpscout-wrapper`\n\n## Authentication\nTo use API you need to create app and get `app_id` and `app_secret`.\nInstructions [here](https://developer.helpscout.com/mailbox-api/overview/authentication/)\n\n## Usage\nAll endpoint commands and coresponding parameters you can find in [documentation](https://developer.helpscout.com/mailbox-api/)\n\n**Conversations**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List conversation | `client.conversation.list(kwargs)` |\n| Get conversation | `client.conversation.get(conv_id, kwargs)` |\n| Create conversation | `client.conversation.create(kwargs)` |\n| Update conversation | `client.conversation.update(conv_id, op, path, value)` |\n| Delete conversation | `client.conversation.delete(conv_id)` |\n| Get attachemnt data | `client.conversation.attachment.get(conv_id, attach_id)` |\n| Upload attachment | `client.conversation.attachment.upload(conv_id, thread_id, file_name, mime_type, data)` |\n| Delete attachment | `client.conversation.attachment.delete(conv_id, attach_id)` |\n| Update custom fields | `client.conversation.custom_field.update(conv_id, fields)` |\n| Update tags | `client.conversation.tag.update(conv_id, tags)` |\n| List threads | `client.conversation.thread.list(conv_id)` |\n| Update thread | `client.conversation.thread.update(conv_id, thread_id, op, path, value)` |\n| Create reply thread | `client.conversation.thread.create_reply_thread(conv_id, kwargs)` |\n| Create phone thread | `client.conversation.thread.create_phone_thread(conv_id, kwargs)` |\n| Create note | `client.conversation.thread.create_note(conv_id, kwargs)` |\n| Create customer thread | `client.conversation.thread.create_customer_thread(conv_id, kwargs)` |\n| Create chat thread | `client.conversation.thread.create_chat_thread(conv_id, kwargs)` |\n\n**Customers**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List customers | `client.customer.list(kwargs)` |\n| Get customer | `client.customer.get(cust_id, kwargs)` |\n| Create customer | `client.customer.create(first_name, kwargs)` |\n| Update customers | `client.customer.update(cust_id, first_name, kwargs)` |\n| Get address | `client.customer.address.get(cust_id)` |\n| Create address | `client.customer.address.create(cust_id, city, state, postal_code, country, lines)` |\n| Update address | `client.customer.address.update(cust_id, city, state, postal_code, country, lines)` |\n| Delete address | `client.customer.address.delete(cust_id)` |\n| List chat handler | `client.customer.chat_handler.list(cust_id)` |\n| Create chat handler | `client.customer.chat_handler.create(cust_id, type_, value)` |\n| Update chat handler | `client.customer.chat_handler.update(cust_id, chat_id, type_, value)` |\n| Delete chat handler | `client.customer.chat_handler.delete(cust_id, chat_id)` |\n| List email | `client.customer.email.list(cust_id)` |\n| Create email | `client.customer.email.create(cust_id, type_, value)` |\n| Update email | `client.customer.email.update(cust_id, email_id, type_, value)` |\n| Delete email | `client.customer.email.delete(cust_id, email_id)` |\n| List phone | `client.customer.phone.list(cust_id)` |\n| Create phone | `client.customer.phone.create(cust_id, type_, value)` |\n| Update phone | `client.customer.phone.update(cust_id, phone_id, type_, value)` |\n| Delete phone | `client.customer.phone.delete(cust_id, phone_id)` |\n| List social profile | `client.customer.social_profile.list(cust_id)` |\n| Create social profile | `client.customer.social_profile.create(cust_id, type_, value)` |\n| Update social profile | `client.customer.social_profile.update(cust_id, profile_id, type_, value)` |\n| Delete social profile | `client.customer.social_profile.delete(cust_id, profile_id)` |\n| List website | `client.customer.website.list(cust_id)` |\n| Create website | `client.customer.website.create(cust_id, type_, value)` |\n| Update website | `client.customer.website.update(cust_id, website_id, type_, value)` |\n| Delete website | `client.customer.website.delete(cust_id, website_id)` |\n\n**Mailboxes**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List mailboxes | `client.mailbox.list()` |\n| Get mailbox | `client.mailbox.get(mailbox_id)` |\n| List mailbox custom fields | `client.mailbox.mailbox_fields(mailbox_id)` |\n| List mailbox folders | `client.mailbox.mailbox_folders(mailbox_id)` |\n\n**Reports**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| Chat report | `client.report.chat_report(start, end, kwargs)` |\n| Email report | `client.report.email_report(start, end, kwargs)` |\n| Phone report | `client.report.phone_report(start, end, kwargs)` |\n| Company overall report | `client.report.company.overall_report(start, end, kwargs)` |\n| Company customers helped | `client.report.company.customers_helped(start, end, kwargs)` |\n| Company drilldown | `client.report.company.drilldown(start, end, range_, kwargs)` |\n| Conversation overall report | `client.report.conversation.overall_report(start, end, kwargs)` |\n| Conversation volumes by channel | `client.report.conversation.volumes_by_channel(start, end, kwargs)` |\n| Conversation busiest time of day | `client.report.conversation.busiest_time_of_day(start, end, kwargs)` |\n| Conversation drilldown | `client.report.conversation.drilldown(start, end, range_, kwargs)` |\n| Conversation drilldown by field | `client.report.conversation.drilldown_by_field(start, end, field, fieldid, kwargs)` |\n| Conversation new drilldown | `client.report.conversation.new(start, end, kwargs)` |\n| Conversation received messages statistics | `client.report.conversation.received_messages(start, end, kwargs)` |\n| Doc overall report | `client.report.doc.overall_report(start, end, kwargs)` |\n| Happiness overall report | `client.report.happiness.overall_report(start, end, kwargs)` |\n| Happiness ratings report | `client.report.happiness.ratings(start, end, kwargs)` |\n| Productivity overall report | `client.report.productivity.overall_report(start, end, kwargs)` |\n| Productivity first response time | `client.report.productivity.first_response_time(start, end, kwargs)` |\n| Productivity replies sent | `client.report.productivity.replies_sent(start, end, kwargs)` |\n| Productivity resolution time | `client.report.productivity.resolution_time(start, end, kwargs)` |\n| Productivity resolved | `client.report.productivity.resolved(start, end, kwargs)` |\n| Productivity response time | `client.report.productivity.response_time(start, end, kwargs)` |\n| User overall report | `client.report.user.overall_report(user, start, end, kwargs)` |\n| User conversation history | `client.report.user.conversation_history(user, start, end, kwargs)` |\n| User customers helped | `client.report.user.customers_helped(user, start, end, kwargs)` |\n| User drilldown | `client.report.user.drilldown(user, start, end, kwargs)` |\n| User happiness | `client.report.user.happiness(user, start, end, kwargs)` |\n| User happiness drilldown | `client.report.user.happiness_drilldown(user, start, end, kwargs)` |\n| User replies | `client.report.user.replies(user, start, end, kwargs)` |\n| User resolution | `client.report.user.resolution(user, start, end, kwargs)` |\n\n**Tags**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List tags | `client.tag.list(kwargs)` |\n\n**Teams**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List teams | `client.team.list(kwargs)` |\n| List team members | `client.team.members(team_id, kwargs)` |\n\n**Tags**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List tags | `client.tag.list(kwargs)` |\n\n**Tags**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List users | `client.user.list(kwargs)` |\n| Get user | `client.user.user(user_id)` |\n| Get resource owner | `client.user.resource_owner()` |\n\n**Webhook**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List webhooks | `client.webhook.list()` |\n| Get webhook | `client.webhook.get(webhook_id)` |\n| Create webhook | `client.webhook.create(url, events, secret, notification)` |\n| Update webhook | `client.webhook.update(webhook_id, url, events, secret, notification)` |\n| Delete webhook | `client.webhook.delete(webhook_id)` |\n\n**Workflow**\n\n| API Endpoint | Wrapper command |\n| ------------ | --------------- |\n| List workflows | `client.workflow.list(kwargs)` |\n| Update workflow status | `client.workflow.update_status(workflow_id, op, value, path)` |\n| Run manual workflow | `client.workflow.run_manual(workflow_id, conversation_ids)` |\n\n## Examples\n\n**List all conversations**\n```python\n>>> from helpscout import Client\n>>> client = Client('', '')\n>>> client.conversation.list()\n{\n \"_embedded\" : {\n \"conversations\" : [ {\n \"id\" : 10,\n \"number\" : 12,\n \"threads\" : 2,\n \"type\" : \"email\",\n \"folderId\" : 11,\n \"status\" : \"closed\",\n \"state\" : \"published\",\n \"subject\" : \"Help\",\n \"preview\" : \"Preview\",\n \"mailboxId\" : 13,\n ...\n```\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/Gogen120/helpscout", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "helpscout-wrapper", "package_url": "https://pypi.org/project/helpscout-wrapper/", "platform": "", "project_url": "https://pypi.org/project/helpscout-wrapper/", "project_urls": { "Homepage": "https://github.com/Gogen120/helpscout" }, "release_url": "https://pypi.org/project/helpscout-wrapper/0.0.3/", "requires_dist": [ "requests" ], "requires_python": "", "summary": "HelpScout api wrapper", "version": "0.0.3", "yanked": false, "yanked_reason": null }, "last_serial": 6212719, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "3e0de08fded6406a8a3fd07501c0ded3", "sha256": "15488dbe0ad1b9d882cfa9d235db6e237b99405209787eb359fa07610c93ec3f" }, "downloads": -1, "filename": "helpscout_wrapper-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3e0de08fded6406a8a3fd07501c0ded3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22318, "upload_time": "2019-10-29T12:53:13", "upload_time_iso_8601": "2019-10-29T12:53:13.021027Z", "url": "https://files.pythonhosted.org/packages/72/3f/3fa6037200965619ad12f5760b7c3eece4f111d2e0b827df389a34f5215a/helpscout_wrapper-0.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "eda316934bc3048e50ad0579afe5bc51", "sha256": "e84be7603765590824973f8eb943bccfbf0a55ceeddcc58360916cd030b70901" }, "downloads": -1, "filename": "helpscout-wrapper-0.0.1.tar.gz", "has_sig": false, "md5_digest": "eda316934bc3048e50ad0579afe5bc51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11591, "upload_time": "2019-10-29T12:53:15", "upload_time_iso_8601": "2019-10-29T12:53:15.794221Z", "url": "https://files.pythonhosted.org/packages/9b/6b/6d19ed4bfa92b345bd361e484f5d10fbc116ccb96a6b5945ca26b3578b4f/helpscout-wrapper-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "99b95b466469456573b0f74465895e7b", "sha256": "0248ef22771e6c378b9e67fa514536e74dd9ade6001b1bcb946670c1e8c398bd" }, "downloads": -1, "filename": "helpscout_wrapper-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "99b95b466469456573b0f74465895e7b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22325, "upload_time": "2019-11-28T07:27:46", "upload_time_iso_8601": "2019-11-28T07:27:46.750415Z", "url": "https://files.pythonhosted.org/packages/ab/6a/55a9811e0c283b9b68a97515e3b3cb432e3f284ca8fb1fb3f3b65f206bdb/helpscout_wrapper-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a5d43a1d7759e9d9a249bcb72061ad1a", "sha256": "ca55ed861e3a1366ef25fa4a5a75d27369abf7b628d0d92a3baa841a1ea42377" }, "downloads": -1, "filename": "helpscout-wrapper-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a5d43a1d7759e9d9a249bcb72061ad1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11598, "upload_time": "2019-11-28T07:27:48", "upload_time_iso_8601": "2019-11-28T07:27:48.307668Z", "url": "https://files.pythonhosted.org/packages/da/a0/0483c2737eaaf2d39a15ab3bab48b84f253e1e3565bc12f8af4b840a6428/helpscout-wrapper-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "19ec5c57e0093e5000c0277b612effa0", "sha256": "8ebb61db5b46af434040b40a041467cbf034d778eeb940328e54416c6b043069" }, "downloads": -1, "filename": "helpscout_wrapper-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "19ec5c57e0093e5000c0277b612effa0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22332, "upload_time": "2019-11-28T07:37:54", "upload_time_iso_8601": "2019-11-28T07:37:54.697059Z", "url": "https://files.pythonhosted.org/packages/ed/61/92ef6ba7ef208253b1aa784c4c973b198ec582b17aeec06061d7eca11b40/helpscout_wrapper-0.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "de78cf8571b791d041a5b15596401f5a", "sha256": "9fa1159e4412a99d9d224f716039975186518374b7e79749a75bd810cb562836" }, "downloads": -1, "filename": "helpscout-wrapper-0.0.3.tar.gz", "has_sig": false, "md5_digest": "de78cf8571b791d041a5b15596401f5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11602, "upload_time": "2019-11-28T07:37:56", "upload_time_iso_8601": "2019-11-28T07:37:56.188329Z", "url": "https://files.pythonhosted.org/packages/5a/45/14ac328615fa773c77c5a8f7f86b7fd4420b1ad8ac87c9e2faf4baf443d4/helpscout-wrapper-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "19ec5c57e0093e5000c0277b612effa0", "sha256": "8ebb61db5b46af434040b40a041467cbf034d778eeb940328e54416c6b043069" }, "downloads": -1, "filename": "helpscout_wrapper-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "19ec5c57e0093e5000c0277b612effa0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22332, "upload_time": "2019-11-28T07:37:54", "upload_time_iso_8601": "2019-11-28T07:37:54.697059Z", "url": "https://files.pythonhosted.org/packages/ed/61/92ef6ba7ef208253b1aa784c4c973b198ec582b17aeec06061d7eca11b40/helpscout_wrapper-0.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "de78cf8571b791d041a5b15596401f5a", "sha256": "9fa1159e4412a99d9d224f716039975186518374b7e79749a75bd810cb562836" }, "downloads": -1, "filename": "helpscout-wrapper-0.0.3.tar.gz", "has_sig": false, "md5_digest": "de78cf8571b791d041a5b15596401f5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11602, "upload_time": "2019-11-28T07:37:56", "upload_time_iso_8601": "2019-11-28T07:37:56.188329Z", "url": "https://files.pythonhosted.org/packages/5a/45/14ac328615fa773c77c5a8f7f86b7fd4420b1ad8ac87c9e2faf4baf443d4/helpscout-wrapper-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }