Skip to content

Fix URLS and examples #197

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 24, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 16 additions & 78 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ python-intercom

|PyPI Version| |PyPI Downloads| |Travis CI Build| |Coverage Status|

Python bindings for the Intercom API (https://api.intercom.io).
Python bindings for the Intercom API (https://developers.intercom.com/intercom-api-reference).

`API Documentation <https://developers.intercom.com/reference>`__.
`API Documentation <https://developers.intercom.com/intercom-api-reference/reference>`__.

`Package
Documentation <http://readthedocs.org/docs/python-intercom/>`__.
Expand Down Expand Up @@ -89,14 +89,6 @@ Users
for user in intercom.users.all():
...

# Bulk operations.
# Submit bulk job, to create users, if any of the items in create_items match an existing user that user will be updated
intercom.users.submit_bulk_job(create_items=[{'user_id': 25, 'email': 'alice@example.com'}, {'user_id': 25, 'email': 'bob@example.com'}])
# Submit bulk job, to delete users
intercom.users.submit_bulk_job(delete_items=[{'user_id': 25, 'email': 'alice@example.com'}, {'user_id': 25, 'email': 'bob@example.com'}])
# Submit bulk job, to add items to existing job
intercom.users.submit_bulk_job(create_items=[{'user_id': 25, 'email': 'alice@example.com'}], delete_items=[{'user_id': 25, 'email': 'bob@example.com'}], 'job_id': 'job_abcd1234')

Admins
^^^^^^

Expand Down Expand Up @@ -150,9 +142,9 @@ Tags
.. code:: python

# Tag users
tag = intercom.tags.tag_users(name='blue', users=[{'email': 'test1@example.com'}])
tag = intercom.tags.tag(name='blue', users=[{'email': 'test1@example.com'}])
# Untag users
intercom.tags.untag_users(name='blue', users=[{'user_id': '42ea2f1b93891f6a99000427'}])
intercom.tags.untag(name='blue', users=[{'user_id': '42ea2f1b93891f6a99000427'}])
# Iterate over all tags
for tag in intercom.tags.all():
...
Expand Down Expand Up @@ -348,9 +340,11 @@ Events

.. code:: python

import time

intercom.events.create(
event_name='invited-friend',
created_at=time.mktime(time.localtime()),
created_at=int(time.mktime(time.localtime())),
email=user.email,
metadata={
'invitee_email': 'pi@example.org',
Expand All @@ -367,6 +361,8 @@ your behalf

.. code:: python

current_user = intercom.users.find(id="1")

intercom.events.create(
event_name="placed-order",
email=current_user.email,
Expand Down Expand Up @@ -394,54 +390,6 @@ The metadata key values in the example are treated as follows-
- price: An Amount in US Dollars (value contains 'amount' and
'currency' keys)

Bulk operations.

.. code:: python

# Submit bulk job, to create events
intercom.events.submit_bulk_job(create_items: [
{
'event_name': 'ordered-item',
'created_at': 1438944980,
'user_id': '314159',
'metadata': {
'order_date': 1438944980,
'stripe_invoice': 'inv_3434343434'
}
},
{
'event_name': 'invited-friend',
'created_at': 1438944979,
'user_id': '314159',
'metadata': {
'invitee_email': 'pi@example.org',
'invite_code': 'ADDAFRIEND'
}
}
])

# Submit bulk job, to add items to existing job
intercom.events.submit_bulk_job(create_items=[
{
'event_name': 'ordered-item',
'created_at': 1438944980,
'user_id': '314159',
'metadata': {
'order_date': 1438944980,
'stripe_invoice': 'inv_3434343434'
}
},
{
'event_name': 'invited-friend',
'created_at': 1438944979,
'user_id': "314159",
'metadata': {
'invitee_email': 'pi@example.org',
'invite_code': 'ADDAFRIEND'
}
}
], job_id='job_abcd1234')

Contacts
^^^^^^^^

Expand All @@ -450,20 +398,21 @@ Contacts represent logged out users of your application.
.. code:: python

# Create a contact
contact = intercom.contacts.create(email="some_contact@example.com")
contact = intercom.leads.create(email="some_contact@example.com")

# Update a contact
contact.custom_attributes['foo'] = 'bar'
intercom.contacts.save(contact)
intercom.leads.save(contact)

# Find contacts by email
contacts = intercom.contacts.find_all(email="some_contact@example.com")
contacts = intercom.leads.find_all(email="some_contact@example.com")

# Convert a contact into a user
intercom.contacts.convert(contact, user)
# Merge a contact into a user
user = intercom.users.find(id="1")
intercom.leads.convert(contact, user)

# Delete a contact
intercom.contacts.delete(contact)
intercom.leads.delete(contact)

Counts
^^^^^^
Expand Down Expand Up @@ -493,17 +442,6 @@ Subscribe to events in Intercom to receive webhooks.
intercom.subscriptions.all():
...

Bulk jobs
^^^^^^^^^

.. code:: python

# fetch a job
intercom.jobs.find(id='job_abcd1234')

# fetch a job's error feed
intercom.jobs.errors(id='job_abcd1234')

Errors
~~~~~~

Expand Down
47 changes: 19 additions & 28 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ python-intercom
Installation
============

Stable releases of python-intercom can be installed with
`pip <http://pip.openplans.org>`_ or you may download a `.tgz` source
Stable releases of python-intercom can be installed with
`pip <http://pip.openplans.org>`_ or you may download a `.tgz` source
archive from `pypi <http://pypi.python.org/pypi/python-intercom#downloads>`_.
See the :doc:`installation` page for more detailed instructions.

If you want to use the latest code, you can grab it from our
If you want to use the latest code, you can grab it from our
`Git repository <http://github.com/jkeyes/python-intercom>`_, or `fork it <http://github.com/jkeyes/python-intercom>`_.

Usage
Expand All @@ -28,7 +28,7 @@ Usage
Authorization
-------------

Intercom documentation: `Personal Access Tokens <https://developers.intercom.com/reference#personal-access-tokens-1>`_.
Intercom documentation: `Personal Access Tokens <https://developers.intercom.com/intercom-api-reference/reference#section-access-tokens>`_.

::

Expand Down Expand Up @@ -75,7 +75,7 @@ Intercom documentation: `List by Tag, Segment, Company <https://developers.inter

# tag request
intercom.users.find_all(tag_id='30126')

# segment request
intercom.users.find_all(segment_id='30126')

Expand All @@ -89,10 +89,10 @@ Intercom documentation: `View a User <https://developers.intercom.io/reference#v

# ID request
intercom.users.find(id='1')

# User ID request
intercom.users.find(user_id='1')

# Email request
intercom.users.find(email='bob@example.com')

Expand All @@ -106,11 +106,11 @@ Intercom documentation: `Deleting a User <https://developers.intercom.io/referen
# ID Delete Request
user = intercom.users.find(id='1')
deleted_user = intercom.users.delete(user)

# User ID Delete Request
user = intercom.users.find(user_id='1')
deleted_user = intercom.users.delete(user)

# Email Delete Request
user = intercom.users.find(email='bob@example.com')
deleted_user = intercom.users.delete(user)
Expand Down Expand Up @@ -196,10 +196,10 @@ Intercom documentation: `Create and Update Tags <https://developers.intercom.io/

# Create Request
tag = intercom.tags.create(name='Independentt')

# Update Request
intercom.tags.tag_users(name='Independent', id=tag.id)
intercom.tags.tag(name='Independent', id=tag.id)


Tag or Untag Users & Companies
++++++++++++++++++++++++++++++
Expand All @@ -209,19 +209,10 @@ Intercom documentation: `Tag or Untag Users & Companies <https://developers.inte
::

# Multi-User Tag Request
intercom.tags.tag_users('Independent', ["42ea2f1b93891f6a99000427", "42ea2f1b93891f6a99000428"])

# Untag Request
intercom.tags.untag_users('blue', ["42ea2f1b93891f6a99000427"])

Delete a Tag
++++++++++++
intercom.tags.tag(name='Independent', users=["42ea2f1b93891f6a99000427", "42ea2f1b93891f6a99000428"])

Intercom documentation: `Delete a Tag <https://developers.intercom.io/reference#delete-a-tag>`_.

::

intercom.tags.delete()
# Untag Request
intercom.tags.untag(name='blue', users=["42ea2f1b93891f6a99000427"])


List Tags for an App
Expand Down Expand Up @@ -279,7 +270,7 @@ Intercom documentation: `List Notes for a User <https://developers.intercom.io/r
# User ID Request
for note in intercom.notes.find_all(user_id='123'):
...

# User Email Request
for note in intercom.notes.find_all(email='foo@bar.com'):
...
Expand Down Expand Up @@ -318,10 +309,10 @@ Intercom documentation: `Getting Counts <https://developers.intercom.io/referenc

# Conversation Admin Count
intercom.counts.for_type(type='conversation', count='admin')

# User Tag Count
intercom.counts.for_type(type='user', count='tag')

# User Segment Count
intercom.counts.for_type(type='user', count='segment')

Expand All @@ -330,7 +321,7 @@ Intercom documentation: `Getting Counts <https://developers.intercom.io/referenc

# Company User Count
intercom.counts.for_type(type='company', count='user')

# Global App Counts
intercom.counts.for_type()

Expand Down