Skip to main content

Fidloy Python SDK

Official Python SDK for the Fidloy API.

Install

pip install fidloy-sdk

Quick Start

from fidloy import Fidloy

client = Fidloy(api_key="YOUR_API_KEY")

transactions = client.list_transactions(business_id=2)

for txn in transactions:
    print("ID:", txn.get("id"), "Amount:", txn.get("amount"))

client.close()

base_url is optional and already defaults to the production API.

Simplest 2 Examples

Example 1: Show transactions

from fidloy import Fidloy

client = Fidloy(api_key="YOUR_API_KEY")

for txn in client.list_transactions(business_id=2):
    print(txn.get("id"), txn.get("amount"))

client.close()

Example 2: Show customers

from fidloy import Fidloy

client = Fidloy(api_key="YOUR_API_KEY")

for customer in client.list_customers(business_id=2):
    print(customer.get("id"), customer.get("first_name"), customer.get("phone"))

client.close()

Example 3: Get point balance

from fidloy import Fidloy

client = Fidloy(api_key="YOUR_API_KEY")

balance = client.get_points_balance(business_id=2, customer_id=30)
print(f"Balance: {balance.get('points_balance')} points")

client.close()

Example 4: Validate coupon

from fidloy import Fidloy

client = Fidloy(api_key="YOUR_API_KEY")

result = client.validate_coupon(
    business_id=2,
    code="SUMMER20",
    amount=10000,
    customer_id=30,
    phone="+250788000000",
    email="customer@example.com"
)

if result.get("valid"):
    print(f"Coupon valid! Discount: {result.get('discount_amount')}")
else:
    print(f"Invalid coupon: {result.get('error')}")

client.close()

Retention engine (API v1)

Use with a business API key. business_id is optional when the key is scoped to one merchant.

from fidloy import Fidloy

client = Fidloy(api_key="YOUR_API_KEY")

# Identity + external ID mapping
client.customers.upsert(
    external_customer_id="cus_123",
    first_name="Alex",
    last_name="Dev",
    email="alex@example.com",
)

# Activity signals (idempotent via external_event_id)
client.events.track(
    external_customer_id="cus_123",
    event_type="subscription_renewed",
    external_event_id="evt_unique_1",
    occurred_at="2026-09-30T12:00:00Z",
    amount=49.0,
    properties={"plan": "pro"},
)

# Purchases (external customer id)
client.transactions.create_v1(
    external_customer_id="cus_123",
    amount=12000,
    transaction_date="2026-09-30T12:00:00Z",
    store_name="Online",
)

# Feedback
client.feedback.submit(
    external_customer_id="cus_123",
    rating=4,
    comment="Great service",
)

# Retention snapshot
snap = client.customers.retention("cus_123")
print(snap.get("state"), snap.get("score"), snap.get("reasons"))

# Retention rules (tenant automation config)
rules = client.retention_rules.list()
client.retention_rules.create(
    name="At risk SMS",
    trigger_kind="customer_state",
    trigger_config={"state": "AT_RISK"},
    action_kind="send_sms",
    action_config={"message": "We miss you!"},
)

client.close()

Also Available (Direct Client)

from fidloy_sdk import FidloyClient

client = FidloyClient(api_key="YOUR_API_KEY")
customer = client.create_customer(
    first_name="Alex",
    last_name="Bwana",
    business_id=2,
    phone="+250788000000",
)
print(customer)
client.close()

Main Features

  • API-key authenticated requests
  • Very simple Fidloy facade for beginners
  • Customer-in-business reward history helper methods
  • Customer and transaction creation helpers
  • Points and coupon redemption helpers
  • Point balance checking and point rules listing
  • Coupon validation and code checking
  • Receipt and webhook creation helpers
  • Typed, predictable exceptions
  • Configurable timeout and headers

Core Methods

  • get_rewards_history
  • get_customer_rewards_history
  • create_customer
  • create_transaction
  • create_receipt
  • create_webhook
  • redeem_points
  • redeem_coupon
  • get_points_balance
  • list_point_rules
  • list_point_rules_categorized
  • validate_coupon

Publish to PyPI

Follow PYPI_RELEASE_CHECKLIST.md to configure PyPI Trusted Publisher.

Then publish by creating a GitHub Release for your version tag.

Manual upload (fallback)

python -m pip install --upgrade build twine
python -m build
python -m twine upload dist/*

Use a PyPI token when uploading.

Metadata

Release files for fidloy-sdk 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fidloy-sdk 0.1.10
File Size Uploaded
fidloy_sdk-0.1.10.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fidloy-sdk 0.1.10
File Interpreter ABI Platform
fidloy_sdk-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 24.1 kB

Release files / fidloy_sdk-0.1.10.tar.gz

Download URL fidloy_sdk-0.1.10.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b94239ce4df69f550f9b3bc711e1dcf89256e7dc71490ce4d1367027991e6236
BLAKE2b-256 checksum
How to use checksums
ae883760eb72c774793477c46847b906ad820bde6682a2312f05afcf4eb7e997
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / fidloy_sdk-0.1.10-py3-none-any.whl

Download URL fidloy_sdk-0.1.10-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73e71d434a6311d5251962ae42b282fae62d2ca4d1328e8a6a8b2862c9a1c34d
BLAKE2b-256 checksum
How to use checksums
612bac98ccb52a246c685a1d835269ec1acf5f2fe7d28d9399f86950349936c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release history Release notifications | RSS feed

0.1.13

2 release files

0.1.12

2 release files

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page