Legal & Support

Access frequently asked questions, privacy policy, and terms and conditions documents.


FAQs

List FAQs

Retrieves all active FAQs ordered by display order.

Authentication: Not required

Response

Returns an array of FAQ objects with questions and answers.

Request

curl https://batchmates-v2.revlv.com/api/v1/faqs

Response

{
  "success": true,
  "data": [
    {
      "id": 1,
      "question": "How do I make a donation?",
      "answer": "You can donate by selecting a campaign and clicking the 'Donate' button. Choose your preferred payment method (Maya or Magpie) and follow the checkout process.",
      "order": 1,
      "status": "active",
      "created_at": "2024-01-15T10:00:00.000000Z",
      "updated_at": "2024-01-15T10:00:00.000000Z"
    },
    {
      "id": 2,
      "question": "Can I set up recurring donations?",
      "answer": "Yes! Many campaigns accept recurring donations. You can set up monthly, quarterly, or yearly donations through the subscription feature.",
      "order": 2,
      "status": "active",
      "created_at": "2024-01-15T10:05:00.000000Z",
      "updated_at": "2024-01-15T10:05:00.000000Z"
    },
    {
      "id": 3,
      "question": "Are my donations tax-deductible?",
      "answer": "Donations made to registered educational institutions may be tax-deductible. Please consult with the institution or your tax advisor for specific details.",
      "order": 3,
      "status": "active",
      "created_at": "2024-01-15T10:10:00.000000Z",
      "updated_at": "2024-01-15T10:10:00.000000Z"
    },
    {
      "id": 4,
      "question": "How do I track my donation history?",
      "answer": "Visit the 'My Donations' section in your profile to see all your past donations, receipts, and subscription details.",
      "order": 4,
      "status": "active",
      "created_at": "2024-01-15T10:15:00.000000Z",
      "updated_at": "2024-01-15T10:15:00.000000Z"
    }
  ]
}

Privacy Policy

Get Privacy Policy

Retrieves the currently active privacy policy document.

Authentication: Not required

Response

Returns the active privacy policy with version and effective date information.

Request

curl https://batchmates-v2.revlv.com/api/v1/privacy-policy

Response

{
  "success": true,
  "data": {
    "id": 1,
    "title": "Batchmates Privacy Policy",
    "content": "# Privacy Policy\n\n**Effective Date:** January 1, 2024\n\n## 1. Information We Collect\n\nWe collect information you provide directly to us, including:\n- Name and contact information\n- Payment information\n- Donation history\n\n## 2. How We Use Your Information\n\nWe use the information we collect to:\n- Process your donations\n- Send receipts and updates\n- Improve our services\n\n## 3. Information Sharing\n\nWe do not sell your personal information...",
    "version": "2.0",
    "effective_date": "2024-01-01",
    "status": "active",
    "created_at": "2024-01-01T00:00:00.000000Z",
    "updated_at": "2024-01-01T00:00:00.000000Z"
  }
}

Error (Not Found)

{
  "success": false,
  "message": "No active privacy policy found"
}

Terms and Conditions

Get Terms

Retrieves the currently active terms and conditions document.

Authentication: Not required

Response

Returns the active terms and conditions with version and effective date information.

Request

curl https://batchmates-v2.revlv.com/api/v1/terms-and-conditions

Response

{
  "success": true,
  "data": {
    "id": 1,
    "title": "Batchmates Terms and Conditions",
    "content": "# Terms and Conditions\n\n**Effective Date:** January 1, 2024\n\n## 1. Acceptance of Terms\n\nBy accessing and using Batchmates, you accept and agree to be bound by these Terms and Conditions.\n\n## 2. User Accounts\n\nYou are responsible for:\n- Maintaining account security\n- All activities under your account\n- Keeping your information accurate\n\n## 3. Donations\n\nAll donations are:\n- Final and non-refundable\n- Subject to payment gateway fees\n- Tax-deductible where applicable...",
    "version": "2.0",
    "effective_date": "2024-01-01",
    "status": "active",
    "created_at": "2024-01-01T00:00:00.000000Z",
    "updated_at": "2024-01-01T00:00:00.000000Z"
  }
}

Error (Not Found)

{
  "success": false,
  "message": "No active terms and conditions found"
}

Document Structure

FAQ Object

  • Name
    id
    Type
    integer
    Description

    Unique identifier

  • Name
    question
    Type
    string
    Description

    The FAQ question

  • Name
    answer
    Type
    text
    Description

    Detailed answer to the question

  • Name
    order
    Type
    integer
    Description

    Display order (lower numbers appear first)

  • Name
    status
    Type
    enum
    Description

    Status: active or inactive

  • Name
    created_at
    Type
    timestamp
    Description

    Creation timestamp

  • Name
    updated_at
    Type
    timestamp
    Description

    Last update timestamp

Legal Document Object

Both Privacy Policy and Terms use the same structure:

  • Name
    id
    Type
    integer
    Description

    Unique identifier

  • Name
    title
    Type
    string
    Description

    Document title

  • Name
    content
    Type
    longtext
    Description

    Full document content (supports Markdown)

  • Name
    version
    Type
    string
    Description

    Version number (e.g., "2.0", "1.5")

  • Name
    effective_date
    Type
    date
    Description

    Date when this version became effective

  • Name
    status
    Type
    enum
    Description

    Status: active or draft

  • Name
    created_at
    Type
    timestamp
    Description

    Creation timestamp

  • Name
    updated_at
    Type
    timestamp
    Description

    Last update timestamp


Content Format

Markdown Support

Legal documents use Markdown formatting:

# Privacy Policy

**Effective Date:** January 1, 2024

## 1. Information We Collect

We collect information you provide directly to us, including:
- Name and contact information
- Payment information
- Donation history

## 2. How We Use Your Information

We use the information we collect to:
- Process your donations
- Send receipts and updates

You can render this Markdown content in your application using a Markdown renderer.

Version Tracking

Documents include version numbers and effective dates:

{
  "version": "2.0",
  "effective_date": "2024-01-01"
}

Use this information to:

  • Show users when terms changed
  • Require acceptance of new versions
  • Track which version user agreed to

Common Use Cases

Display FAQs in App

async function loadFAQs() {
  const response = await fetch('https://batchmates-v2.revlv.com/api/v1/faqs');
  const data = await response.json();
  
  // FAQs are already sorted by order field
  data.data.forEach(faq => {
    displayFAQ(faq.question, faq.answer);
  });
}

Show Privacy Policy on Registration

async function showPrivacyPolicy() {
  const response = await fetch('https://batchmates-v2.revlv.com/api/v1/privacy-policy');
  const data = await response.json();
  
  if (data.success) {
    const policy = data.data;
    displayMarkdown(policy.content);
    showVersion(policy.version, policy.effective_date);
  }
}

Require Terms Acceptance

async function checkTermsAccepted(userAcceptedVersion) {
  const response = await fetch('https://batchmates-v2.revlv.com/api/v1/terms-and-conditions');
  const data = await response.json();
  
  const currentVersion = data.data.version;
  
  if (userAcceptedVersion !== currentVersion) {
    // Show new terms and require acceptance
    showTermsDialog(data.data);
  }
}

FAQ Categories

FAQs are ordered by the order field. Common categories include:

Getting Started (order 1-10)

  • How to create an account
  • How to make a donation
  • Payment methods accepted

Donations (order 11-20)

  • Recurring donations
  • Donation receipts
  • Refund policy

Security & Privacy (order 21-30)

  • Data protection
  • Payment security
  • Account security

Technical Support (order 31-40)

  • Troubleshooting
  • Contact support
  • Platform features

How Updates Work

  1. Only one document can have status: "active" at a time
  2. When a new version is activated, the previous version becomes draft
  3. Users should be notified of important policy changes

Effective Dates

The effective_date indicates when the policy takes effect:

{
  "effective_date": "2024-02-01",
  "status": "active"
}

This allows publishing documents in advance of their effective date.


Error Responses

  • Name
    404 Not Found
    Description

    No active document found (first time setup needed)

No Active Document

{
  "success": false,
  "message": "No active privacy policy found"
}

If you receive this error:

  • For FAQs: Display a message that FAQs are being updated
  • For legal docs: Contact support (documents should always be active)

Best Practices

For FAQs

  • Cache FAQ data locally to reduce API calls
  • Refresh when app opens or every 24 hours
  • Provide search functionality for long FAQ lists
  • Group by category using the order field

For Legal Documents

  • Always display version and effective date
  • Track which version user has accepted
  • Require acceptance on significant updates
  • Provide easy access from app settings
  • Cache documents but check for updates periodically

User Experience

  • Make legal docs easily accessible (footer links, settings)
  • Use proper Markdown rendering for readability
  • Highlight changes between versions when possible
  • Allow users to download or email documents

Was this page helpful?