Skip to content

starenka/mailjetv3

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages