Releases: 1ClickImpact/makeimpact-py
Version 1.3.0
Added
- Projects API: New
get_projects()method to retrieve available environmental impact projects- Filter by impact type with
typeparameter:"trees","ocean","carbon" - Localization support with
localeparameter:"en","de","es","fr","nl"(defaults to"en") - Returns
GetProjectsResponsecontaining a list ofProjectobjects
- Filter by impact type with
- Get Project by ID API: New
get_project_by_id(project_id)method to fetch a specific project- Supports optional
localeparameter for localized content - Returns full
Projectdetails including name, location, images, and UN SDG alignments
- Supports optional
- New Types:
Project,SDG,GetProjectsResponseProjectincludes:project_id,name,type,location,description,about,country_code,organization,sdgs,image_urls,latitude,longitude,availableSDGincludes:id,number,title,description,color,link,icon_url
- Records API
sort_orderparameter: Addedsort_orderto bothget_records()andget_customer_records()- Accepted values:
"asc"(default),"desc"
- Accepted values:
Changed
TrackResponse: Addedproject_idfield — returns the ID of the project assigned to the tracked impact (when available)- Updated
GetRecordsParamstype to includesort_orderfield - Enhanced test suite with full coverage for
get_projects(),get_project_by_id(), and new fields
Documentation
- Updated README with examples for
get_projects()andget_project_by_id() - Added
project_idfield documentation to Track API section - Added SDG and project filtering examples
Full Changelog: v1.2.2...v1.3.0
Version 1.2.2
Added
- Track API Enhancement: Added
certificatefield toTrackResponse- 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 organizationcustomer_impact: Impact metrics generated on behalf of your customers- Both breakdown objects include
tree_planted,waste_removed,carbon_captured, andmoney_donatedfields
- 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_dateandend_dateparameters (YYYY-MM-DD format) - New types:
DailyImpactResponse,DailyImpactRecord,ImpactBreakdown
Changed
- Updated
ImpactResponseto includeuser_impactandcustomer_impactbreakdown 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
🚀 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
🚀 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