技能 编程开发 AppFolio API认证配置

AppFolio API认证配置

v20260423
appfolio-install-auth
本指南指导开发者配置AppFolio Stack API的认证流程。它使用OAuth 2.0和Basic Auth,通过客户端ID和密钥实现身份验证,从而允许外部应用安全、程序化地访问和操作AppFolio平台上的核心房产数据,适用于构建房产管理系统集成。
获取技能
362 次下载
概览

AppFolio Install & Auth

Overview

Configure AppFolio Stack API authentication. AppFolio uses HTTP Basic Auth with a client ID and client secret, provided through their Stack partner program. No public npm SDK exists — use direct REST API calls.

Prerequisites

  • AppFolio Stack partner account (appfolio.com/stack)
  • Client ID and Client Secret from AppFolio
  • Node.js 18+ or Python 3.10+

Instructions

Step 1: Obtain API Credentials

# AppFolio Stack API credentials come from the partner program
# 1. Apply at appfolio.com/stack/become-a-partner
# 2. Complete integration review
# 3. Receive client_id and client_secret

cat > .env << 'ENVFILE'
APPFOLIO_CLIENT_ID=your-client-id
APPFOLIO_CLIENT_SECRET=your-client-secret
APPFOLIO_BASE_URL=https://your-company.appfolio.com/api/v1
ENVFILE

chmod 600 .env
echo ".env" >> .gitignore

Step 2: Create API Client

// src/appfolio-client.ts
import axios, { AxiosInstance } from 'axios';

class AppFolioClient {
  private api: AxiosInstance;

  constructor() {
    this.api = axios.create({
      baseURL: process.env.APPFOLIO_BASE_URL,
      auth: {
        username: process.env.APPFOLIO_CLIENT_ID!,
        password: process.env.APPFOLIO_CLIENT_SECRET!,
      },
      headers: { 'Content-Type': 'application/json' },
      timeout: 30000,
    });
  }

  async verifyConnection(): Promise<boolean> {
    try {
      const response = await this.api.get('/properties');
      console.log(`Connected! Found ${response.data.length} properties`);
      return true;
    } catch (error: any) {
      console.error(`Connection failed: ${error.response?.status} ${error.message}`);
      return false;
    }
  }

  get http(): AxiosInstance { return this.api; }
}

export { AppFolioClient };

Step 3: Verify Connection

# Quick curl test
curl -u "${APPFOLIO_CLIENT_ID}:${APPFOLIO_CLIENT_SECRET}" \
  "${APPFOLIO_BASE_URL}/properties" | jq '.[0]'

API Endpoints

ResourceEndpointMethods
Properties/api/v1/propertiesGET
Units/api/v1/unitsGET
Tenants/api/v1/tenantsGET
Leases/api/v1/leasesGET, POST
Bills/api/v1/billsGET, POST
Vendors/api/v1/vendorsGET
Owners/api/v1/ownersGET
Reports/api/v1/reportsGET

Output

  • API credentials configured in .env
  • TypeScript REST client with Basic Auth
  • Verified connectivity to AppFolio API

Error Handling

ErrorCauseSolution
401 UnauthorizedInvalid credentialsVerify client_id/secret from AppFolio
403 ForbiddenNot a Stack partnerComplete partner application
404 Not FoundWrong base URLUse your-company.appfolio.com format
TimeoutNetwork issueCheck firewall allows HTTPS to appfolio.com

Resources

Next Steps

Proceed to appfolio-hello-world for your first property query.

信息
分类 编程开发
名称 appfolio-install-auth
版本 v20260423
大小 3.72KB
更新时间 2026-04-28
语言