コード例 #1
0
    def list_member_add(self, list_id, cuID):
        """
            Add a member to a list
        """
        T = current.T

        from os_customer import Customer
        customer = Customer(cuID)
        subscriber_hash = customer.get_email_hash('md5')

        mailchimp = self.get_client()

        try:
            mailchimp.lists.members.create_or_update(
                list_id=list_id,
                subscriber_hash=subscriber_hash,
                data={
                    'email_address': customer.row.email,
                    'status': 'subscribed',
                    'status_if_new': 'pending',
                    'merge_fields': {
                        'FNAME': customer.row.first_name,
                        'LNAME': customer.row.last_name,
                    }
                })
            message = T('Subscription successful, please check your inbox')
        except MailChimpError as e:
            message = T(
                "We encountered an error while trying to subscribe you to this list, please try again later."
            )

        return message
コード例 #2
0
    def list_member_delete(self, list_id, cuID):
        """
            Delete a member from a list
        """
        from os_customer import Customer
        customer = Customer(cuID)

        mailchimp = self.get_client()

        mailchimp.lists.members.delete(
            list_id=list_id, subscriber_hash=customer.get_email_hash('md5'))
コード例 #3
0
    def get_mailing_list_customer_subscription_status(self, mailchimp, list_id,
                                                      cuID):
        """
        :param: mailchimp: MailChimp object (mailchimp3)
        :param cuID: db.auth_user.id
        :return: boolean
        """

        import hashlib
        from os_customer import Customer

        customer = Customer(cuID)
        subscriber_hash = customer.get_email_hash('md5')
        try:
            member = mailchimp.lists.members.get(
                list_id=list_id, subscriber_hash=subscriber_hash)
            return member['status']
        except MailChimpError as e:
            return 'error'