Skip to content

Releases: 1ClickImpact/makeimpact-py

Version 1.3.0

30 Mar 01:55

Choose a tag to compare

Added

  • Projects API: New get_projects() method to retrieve available environmental impact projects
    • Filter by impact type with type parameter: "trees", "ocean", "carbon"
    • Localization support with locale parameter: "en", "de", "es", "fr", "nl" (defaults to "en")
    • Returns GetProjectsResponse containing a list of Project objects
  • Get Project by ID API: New get_project_by_id(project_id) method to fetch a specific project
    • Supports optional locale parameter for localized content
    • Returns full Project details including name, location, images, and UN SDG alignments
  • New Types: Project, SDG, GetProjectsResponse
    • Project includes: project_id, name, type, location, description, about, country_code, organization, sdgs, image_urls, latitude, longitude, available
    • SDG includes: id, number, title, description, color, link, icon_url
  • Records API sort_order parameter: Added sort_order to both get_records() and get_customer_records()
    • Accepted values: "asc" (default), "desc"

Changed

  • TrackResponse: Added project_id field — returns the ID of the project assigned to the tracked impact (when available)
  • Updated GetRecordsParams type to include sort_order field
  • Enhanced test suite with full coverage for get_projects(), get_project_by_id(), and new fields

Documentation

  • Updated README with examples for get_projects() and get_project_by_id()
  • Added project_id field documentation to Track API section
  • Added SDG and project filtering examples

Full Changelog: v1.2.2...v1.3.0

Version 1.2.2

09 Jan 16:08

Choose a tag to compare

Added

  • Track API Enhancement: Added certificate field to TrackResponse - provides certificate URL for impacts (only available in production environment)
  • Impact API Breakdown: Enhanced get_impact() to include detailed breakdown:
    • user_impact: Impact metrics generated directly by your organization
    • customer_impact: Impact metrics generated on behalf of your customers
    • Both breakdown objects include tree_planted, waste_removed, carbon_captured, and money_donated fields
  • Daily Impact API: New get_daily_impact() method for time-series impact data
    • Returns daily impact records with date, trees planted, waste removed, carbon captured, and money donated
    • Supports optional date range filtering with start_date and end_date parameters (YYYY-MM-DD format)
    • New types: DailyImpactResponse, DailyImpactRecord, ImpactBreakdown

Changed

  • Updated ImpactResponse to include user_impact and customer_impact breakdown fields
  • Enhanced documentation with examples for new impact breakdown and daily impact features
  • Updated test suite to validate new fields and functionality

Documentation

  • Updated README with examples for impact breakdown and daily impact retrieval
  • Added certificate field documentation to Track API section
  • Improved examples showing how to access direct vs customer impact metrics

Full Changelog: v1.2.0...v1.2.2

Version 1.2.0

17 Oct 19:45

Choose a tag to compare

🚀 Version 1.2.0 - Release Notes

We're excited to announce version 1.2.0 of the MakeImpact Python SDK! This release introduces powerful new tracking capabilities and email notification controls.

🆕 What's New

🔍 Impact Tracking API

Key Capabilities:

  • Real-time Status Updates: Monitor impacts from initiation through completion
  • Project Location & Maps: Get geographic details with embedded Google Maps URLs
  • Agent Assignment: See which organization or agent is executing your impact
  • Impact Documentation: Access videos and photos of your completed impacts
  • Live Session Access: Join scheduled live sessions to see your impact in action
  • Donation Flow Tracking: Monitor when donations are received and sent to projects
  • Test Transaction Detection: Easily identify sandbox/test transactions

Example usage (Python):

from makeimpact.client import OneClickImpact, Environment

sdk = OneClickImpact(api_key="your_api_key", environment=Environment.PRODUCTION)

# Create an impact (plant a tree)
plant_resp = sdk.plant_tree(amount=1)

# Track its lifecycle
tracking_info = sdk.track(
    user_id=plant_resp.user_id,
    time_utc=plant_resp.time_utc
)

print(f"Tracking ID: {tracking_info.tracking_id}")
print(f"Status: {'Completed' if tracking_info.impact_completed else 'In Progress'}")
print(f"Location: {tracking_info.project_location}")
print(f"Map URL: {tracking_info.location_map}")

Tracking response fields (high level):

  • tracking_id — Unique identifier for this tracking record
  • impact_initiated — Timestamp when the impact was created
  • tree_planted / waste_removed / carbon_captured / money_donated — Impact metrics present when applicable
  • assigned_agent — Organization or agent executing the impact
  • project_location — Text description of project location
  • location_map — Google Maps / map URL to view project
  • impact_completed — Completion timestamp (or falsy if still in progress)
  • impact_video — URL to impact documentation video
  • live_session_date — Scheduled live session timestamp
  • donation_available / donation_sent — Donation flow timestamps
  • is_test_transaction / is_bonus_impact — Metadata flags

📧 Email Notification Control

Added notify parameter to all impact creation methods (plant_tree, clean_ocean, capture_carbon, donate_money) so you can opt a customer in or out of email confirmations.

Python examples:

# Disable email notification
sdk.plant_tree(amount=1, customer_email="user@example.com", notify=False)

# Enable email notification (explicit)
sdk.plant_tree(amount=1, customer_email="user@example.com", notify=True)

Note: notifications are always disabled in the sandbox environment.

🔧 Technical Details

  • Python 3.6+ compatibility
  • Type hints for better IDE integration
  • Minimal dependencies (only requests)
  • Comprehensive documentation

Full Changelog: v1.1.1...v1.2.0

Version 1.1.1

21 May 17:26

Choose a tag to compare

🚀 Version 1.1.1 - Release

We're excited to announce the first official release of the MakeImpact Python SDK! This release provides Python developers with a complete toolkit to integrate environmental impact actions into their applications.

✨ Features

Environmental Impact Actions

  • Plant Trees: Support reforestation efforts with simple API calls
  • Clean Ocean: Remove plastic waste from oceans
  • Capture Carbon: Offset carbon emissions
  • Donate Money: Support environmental causes with monetary donations

Data Access & Reporting

  • Record Management: Retrieve and filter impact records
  • Customer Tracking: Associate environmental actions with your customers
  • Impact Statistics: Track your organization's total environmental impact

Configuration

  • Environment Support: Production and sandbox environments for testing
  • Type Safety: Fully typed parameters and responses
  • Error Handling: Detailed error responses for easier debugging

🔧 Technical Details

  • Python 3.6+ compatibility
  • Comprehensive documentation with examples
  • Type hints for better IDE integration
  • Dataclass-based request and response objects
  • Full test coverage

📚 Documentation

Comprehensive documentation is available in the README.md file, covering all SDK features with code examples.

🎯 Getting Started

from makeimpact import OneClickImpact, Environment

# Initialize the SDK with your API key (production environment by default)
sdk = OneClickImpact("your_api_key")

# Create impact with just a line of code
sdk.plant_tree(amount=1)
print(f"Successfully planted {response.tree_planted} tree(s)!")

💡 Next Steps

  • Join our community to share your integration experiences
  • Provide feedback to help shape future releases