Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Simple Mailjet APIv3 wrapper (WIP)

Usage:

In [1]: from mailjet import Client

In [2]: c = Client(auth=(API_KEY, API_SECRET))

In [3]: c.
c.AXTesting                   c.CampaignGraphStats          c.Contactslist                c.MessageInformation          c.OpenStats
c.Aggregategraphstatistics    c.CampaignOverview            c.DomainStats                 c.MessageSentStats            c.ParseRoute
c.ApiKey                      c.CampaignStats               c.EventCallbackURL            c.MessageState                c.Preferences
c.ApiKeyAccess                c.ClickStats                  c.GEOStats                    c.MessageStats                c.Sender
c.ApiKeyTotals                c.Contact                     c.GraphStats                  c.MetaSender                  c.SenderStats
c.ApiToken                    c.ContactData                 c.ListRecipient               c.Metadata                    c.ToplinkClicked
c.Batchjob                    c.ContactFilter               c.ListRecipientstatistics     c.MyProfile                   c.Trigger
c.BounceStats                 c.ContactHistoryData          c.ListStats                   c.Newsletter                  c.User
c.CSVImport                   c.ContactMetadata             c.ManyContacts                c.NewsletterTemplate          c.UseragentStats
c.Campaign                    c.ContactStats                c.Message                     c.NewsletterTemplateCategory  c.Widget
c.CampaignAggregate           c.ContactsListSignup          c.MessageHistory              c.OpenInformation             c.WidgetCustomValue

In [4]: c.Campaign.get_many
Out[4]: {u'Count': 0, u'Data': [], u'Total': 0}

In [5: c.Campaign.get(1)
Out[5:
{u'Count': 1,
 u'Data': [{u'CampaignType': 2,
   u'ClickTracked': 3,
   u'CreatedAt': u'2014-11-27T14:38:11Z',
   u'CustomValue': u'mj.nl=1',
   u'FirstMessageID': 16888499051509351,
   u'FromEmail': u'tomas.berger@imper.cz',
   u'FromID': 2,
   u'FromName': u'Tom',
   u'HasHtmlCount': 3,
   u'HasTxtCount': 3,
   u'ID': 1,
   u'IsDeleted': False,
   u'IsStarred': False,
   u'ListID': 1,
   u'NewsLetterID': 1,
   u'OpenTracked': 3,
   u'SendEndAt': u'2014-11-27T14:38:11Z',
   u'SendStartAt': u'2014-11-27T14:38:11Z',
   u'SpamassScore': 1.464,
   u'Status': 0,
   u'Subject': u'Test',
   u'UnsubscribeTrackedCount': 0}],
 u'Total': 1}


In [6]: c.Campaign.get(2)

DoesNotExistError                         Traceback (most recent call last)
<ipython-input-8-4a064dbddd21> in <module>()

...

DoesNotExistError: {'info': u'', 'request': <PreparedRequest [GET]>, 'message': u'Object not found', 'response_parsed': {u'StatusCode': 404, u'ErrorInfo': u'', u'ErrorMessage
': u'Object not found'}, 'response': <Response [404]>}


In [7]: c.Campaign.
c.Campaign.create    c.Campaign.delete    c.Campaign.get       c.Campaign.get_many  c.Campaign.new       c.Campaign.update

In [8]: help(c.Campaign)
Help on Campaign in module mailjet.client object:

class Campaign(Endpoint)
 |  Method resolution order:
 |      Campaign
 |      Endpoint
 |      __builtin__.object
 |
 |  Methods inherited from Endpoint:
 |
 |  __init__(self, url, doc, auth)
 |
 |  create(self, data, **kwargs)
 |
 |  delete(self, res_id, **kwargs)
 |
 |  get(self, res_id, **kwargs)
 |
 |  get_many(self, **kwargs)
 |
 |  new = create(self, data, **kwargs)
 |
 |  update(self, res_id, data, **kwargs)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from Endpoint:
 |
 |  __dict__
 |      dictionary for instance variables (if defined)
 |
 |  __weakref__
 |      list of weak references to the object (if defined)


In [9]: c.Campaign._doc
Out[9]: 'http://dev.mailjet.com/email-api/v3/campaign'

In [10]: c.Campaign._url
Out[10]: 'https://api.mailjet.com/v3/REST/campaign'

In [11]: data={
        'AllowedAccess': 'campaigns,contacts,reports,stats,preferences,property,contact_filter,account,pricing',
        'TokenType': 'iframe',
        'ValidFor': 500000,
        'IsActive': True}


In [12]: c.ApiToken.create(data=data)
Out[12]:
{u'Count': 1,
 u'Data': [{u'APIKeyID': 111111,
   u'AllowedAccess': u'campaigns,contacts,reports,stats,preferences,property,contact_filter,account,pricing',
   u'CatchedIp': u'127.0.0.1',
   u'CreatedAt': u'2014-11-29T15:30:05Z',
   u'FirstUsedAt': u'',
   u'ID': 1536460,
   u'IsActive': True,
   u'Lang': u'',
   u'LastUsedAt': u'',
   u'SentData': u'',
   u'Timezone': u'',
   u'Token': u'xxxxxxxxxxxxxxxxxxxxxxxF4FE61C3BBC3146F9FA17A760F171250C10502C212EF00DE3A6F66DD68C494885F2F3BD49AB407019BD0D894B8885DE7',
   u'TokenType': u'iframe',
   u'ValidFor': 500000}],
 u'Total': 1}

TODOs:

  • tests

About

Mailjet APIv3 wrapper

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages