# 企业自建应用开发流程

飞书上的企业或组织可以基于飞书套件的开放能力，自主开发自建应用，以满足办公场景中的个性化需求。该类应用无需飞书团队审核，由企业管理员审核通过后即可使用。本文档介绍企业自建应用的开发流程。

## 什么是企业自建应用

根据 **应用的上架方式**，应用可分为以下两种类型。
* **企业自建应用**：由企业内部人员或企业授权的开发人员进行开发，只能在同一企业内发布和使用。
* **商店应用**：由第三方服务商开发，在[飞书应用中心](https://app.feishu.cn/)发布，所有飞书企业均可安装和使用。

## 自建应用开发流程

企业自建应用的开发流程如下图所示。
如果你想快速体验上手开发自建应用全流程，推荐你参考入门教程[将已有网页应用嵌入飞书工作台](https://open.feishu.cn/document/uAjLw4CM/uMzNwEjLzcDMx4yM3ATM/embed-web-app-into-feishu-workbench/introduction)。你将在了解网页应用能力的同时，快速跑通下图应用的开发流程。
![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/dbef83f364debcc015f026954e4eba82_zZTs5IJmbG.png?height=692&lazyload=true&width=2462)

### 成为飞书企业用户

在飞书开放平台上开发应用前，你必须先成为飞书的企业用户。你可以通过[创建企业](https://www.feishu.cn/hc/zh-CN/articles/360043741453-%E5%88%9B%E5%BB%BA%E4%BC%81%E4%B8%9A)或[加入企业](https://www.feishu.cn/hc/zh-CN/articles/360043741453-%E5%88%9B%E5%BB%BA%E4%BC%81%E4%B8%9A)方式成为飞书企业用户。

### 创建并配置应用

应用是开发者调用飞书所提供的开放能力的载体。你需在飞书[开发者后台](https://open.feishu.cn/app)，创建与配置应用，包括为应用开通权限、能力、添加事件与回调等。

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/8e5db6fefb0bc08af5b4f5ef391f6d7d_gGgrQpYryy.png?height=1108&lazyload=true&maxWidth=600&width=2196)

配置应用 | 说明文档
---|---
添加应用能力 | 根据应用在客户端的呈现形态，应用有机器人、网页和小组件三种形态。不同形态的应用，需要开启不同的能力。你可以根据需要选择对应的产品形态单独开启一种能力，也可以多种能力组合开启。详情参考[应用类型与能力](https://open.feishu.cn/document/home/app-types-introduction/overview)。
开通应用权限 | 调用飞书开放接口之前，应用需要开通相关权限。不同接口所需权限不同，在 API 文档中均有说明。如何开通权限可参考[申请 API 权限](https://open.feishu.cn/document/ukTMukTMukTM/uQjN3QjL0YzN04CN2cDN)。
（可选）配置事件与回调 | - 订阅事件允许应用及时响应飞书中的变更事件。详情参考[事件概述](https://open.feishu.cn/document/ukTMukTMukTM/uUTNz4SN1MjL1UzM)。<br>- 添加回调适用于需要对用户行为进行同步响应的业务场景。详情参考[回调概述](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/event-subscription-guide/callback-subscription/callback-overview)。<br></ul>
（可选）国际化配置 | 应用的基础信息支持配置多语言，详情参考[国际化配置](https://open.feishu.cn/document/uAjLw4CM/uYjL24iN/platform-overveiw/develop-process/multi-lingual-app-details)。

### 开发与测试应用 

在开发与测试应用阶段，推荐你参考以下入门教程，快速上手体验开放能力：
在应用测试阶段，开发者可以自行[创建一个新企业](https://www.feishu.cn/hc/zh-CN/articles/360043741453-%E5%88%9B%E5%BB%BA%E4%BC%81%E4%B8%9A)，在新企业中创建应用、添加权限，实现权限免审。
- [快速调用服务端 API（发送消息）](https://open.feishu.cn/document/uAjLw4CM/uMzNwEjLzcDMx4yM3ATM/how-to-call-a-server-side-api/introduction)
- [快速调用服务端 API（创建一个多维表格）](https://open.feishu.cn/document/uAjLw4CM/uMzNwEjLzcDMx4yM3ATM/call-a-server-api-base-example/introduction)
- [开发自动回复机器人](https://open.feishu.cn/document/uAjLw4CM/uMzNwEjLzcDMx4yM3ATM/develop-an-echo-bot/introduction)
- [开发卡片交互机器人](https://open.feishu.cn/document/uAjLw4CM/uMzNwEjLzcDMx4yM3ATM/develop-a-card-interactive-bot/introduction)
- [已有网页应用嵌入飞书工作台](https://open.feishu.cn/document/uAjLw4CM/uMzNwEjLzcDMx4yM3ATM/embed-web-app-into-feishu-workbench/introduction)

### 发布应用

在开发自建应用的过程中，当应用的 **基本信息**、**权限范围**、**应用功能** 和 **事件订阅** 等信息发生变更时，都需要发布新的应用版本，并且通过企业管理员的审核后才能生效。详情参考[发布与审核自建应用](https://open.feishu.cn/document/home/intro-to-custom-app-review)。

### 应用运营及运维

应用发布上线后，你可以通过开发者后台提供的以下功能，进行应用的线上运营和维护，精准提升应用品质与体验。

* **日志检索**：检索应用调用 **服务端 API、客户端 API**，以及 **事件推送** 的详细日志信息。详情参考[日志检索](https://open.feishu.cn/document/tools-and-resources/open-api-log-query)。

* **运营分析**：支持应用的 **所有者、管理员和运营** 角色查看应用的使用数据。详情参考[运营分析](https://open.feishu.cn/document/tools-and-resources/operations-analysis/operations-analysis)。

* **用户反馈**：用户能够在使用应用时快速反馈遇到的问题；开发者可在 **用户反馈** 页面查看反馈、定位问题。详情参考[用户反馈](https://open.feishu.cn/document/tools-and-resources/userfeedback)。

