# 创建设备（步骤1）

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /api/qw/doApi:
    post:
      summary: 创建设备（步骤1）
      deprecated: false
      description: >+
        <div style="background: linear-gradient(135deg, rgba(255, 213, 145,
        0.45) 0%, rgba(255, 255, 255, 0.06) 100%); border: 1px solid rgba(255,
        236, 202, 0.7); border-radius: 12px; padding: 20px 28px; margin-bottom:
        20px; box-shadow: 0 4px 12px rgba(250, 140, 22, 0.08);">
         <h3 style="margin: 0 0 8px 0; font-size: 18px; font-weight: 600; color: inherit; border: none; padding-bottom: 0;">创建设备 — 获取虚拟设备实例</h3>
         <p style="margin: 0; font-size: 14px; color: inherit; line-height: 1.6;">通过该接口创建一个企业微信云设备实例，返回 <code style="color: inherit; background: rgba(82, 196, 26, 0.08); border: 1px solid rgba(82, 196, 26, 0.1); padding: 2px 4px; border-radius: 3px;">guid</code>（设备唯一标识）。后续所有操作（扫码登录、收发消息等）均依赖此 <code style="color: inherit; background: rgba(82, 196, 26, 0.08); border: 1px solid rgba(82, 196, 26, 0.1); padding: 2px 4px; border-radius: 3px;">guid</code>。</p>
        </div>

        <div style="background: rgba(255, 247, 230, 0.25); border: 1px solid
        rgba(255, 213, 145, 0.55); border-radius: 6px; padding: 12px 16px;
        margin-bottom: 16px;">
         <p style="margin: 0; font-size: 13px; line-height: 1.6;"> <strong>重要：<br></strong>创建设备后 30分钟内未完成登录，该实例将自动清理。需要重新创建.代理地区务必与企微手机登录所在地一致，严禁异省，否则可能导致登录失败。</p>
        </div>
         
         
        <details style="background:rgba(255,247,230,0.25);border:1px solid
        rgba(255,213,145,0.55);border-radius:8px;">

        <summary style="font-weight:bold;cursor:pointer;">登录流程图</summary> 


        <div style=" padding: 5px 0px;">
         <p style="margin: 0; font-size: 14px; line-height: 1.6;">登录步骤：检测状态根据 loginQrcodeStatus返回的</p>
        </div>
         
         ```mermaid
        graph LR
            %% 入口分支
            Start1[首次登录]:::start --> A[创建设备]:::action
            A -->|返回guid| B[获取登录二维码]:::action
            
            Start2[设备掉线]:::start -->
            %% 公共登录流程
            B --> D[轮询检测 Status]:::action
            D -->|Status=10 需验证| E[提交验证码校验]:::warn
            E --> D
            D -->|Status=2 扫码确认| S[登录成功]:::success

        ```

        </details>


      tags:
        - API参考/基础能力/登录模块
      parameters:
        - name: Content-Type
          in: header
          description: ''
          required: true
          example: application/json
          schema:
            type: string
        - name: X-QIWEI-TOKEN
          in: header
          description: >-
            <p style="margin: 0; font-size: 14px; color: inherit; line-height:
            1.6;">进入 <a href="https://new.qiweapi.com/tokens" style="color:
            inherit; text-decoration: underline; font-weight: 600;">应用凭证</a>，复制
            <code style="color: inherit; background: rgba(82, 196, 26, 0.08);
            border: 1px solid rgba(82, 196, 26, 0.1); padding: 2px 4px;
            border-radius: 3px;">TokenId</code>。</p>
          required: true
          example: '{{tokenId}}'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  type: string
                  title: 执行方法
                  description: >-
                    <code style="color: inherit; background: rgba(82, 196, 26,
                    0.08); border: 1px solid rgba(82, 196, 26, 0.1); padding:
                    2px 4px; border-radius: 3px;">/client/createClient</code>
                params:
                  type: object
                  properties:
                    proxyUrl:
                      type: string
                      title: 自定义代理
                      description: >-
                        <p style="margin: 0; font-size: 14px; color: inherit;
                        line-height: 1.9;">

                        - <strong>网络方式2：自定义代理ip</strong><br>

                        格式必须为: <code style="display: inline-block; margin: 3px
                        5px; color: inherit; background: rgba(82, 196, 26,
                        0.08); border: 1px solid rgba(82, 196, 26, 0.12);
                        padding: 2px 7px; border-radius:
                        4px;">socks5://user:password@ip:port</code>，如无验证直接写地址即可。目前只支持<code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">socks5</code>。

                        示例：<code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius:
                        4px;">socks5://root:123456@192.168.88.242:1080</code>

                        </p>
                    areaCode:
                      type: integer
                      title: 地区代理
                      description: >-
                        <p style="margin: 0; font-size: 14px; color: inherit;
                        line-height: 1.9;">

                        - <strong>网络方式1：使用地区ID</strong><br>

                        <code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius: 4px;">110000</code>：北京市 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">120000</code>：天津市 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">130000</code>：河北省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">140000</code>：山西省<br>

                        <code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius: 4px;">150000</code>：内蒙古 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">210000</code>：辽宁省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">220000</code>：吉林省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">230000</code>：黑龙江省<br>

                        <code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius: 4px;">310000</code>：上海市 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">320000</code>：江苏省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">330000</code>：浙江省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">340000</code>：安徽省<br>

                        <code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius: 4px;">350000</code>：福建省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">360000</code>：江西省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">370000</code>：山东省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">410000</code>：河南省<br>

                        <code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius: 4px;">420000</code>：湖北省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">430000</code>：湖南省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">440000</code>：广东省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius:
                        4px;">450000</code>：广&nbsp;&nbsp;&nbsp;&nbsp;西<br>

                        <code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius: 4px;">460000</code>：海南省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">500000</code>：重庆市 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">510000</code>：四川省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">520000</code>：贵州省<br>

                        <code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius: 4px;">530000</code>：云南省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius:
                        4px;">540000</code>：西&nbsp;&nbsp;&nbsp;&nbsp;藏 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">610000</code>：陕西省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius: 4px;">620000</code>：甘肃省<br>

                        <code style="display: inline-block; margin: 3px 5px;
                        color: inherit; background: rgba(82, 196, 26, 0.08);
                        border: 1px solid rgba(82, 196, 26, 0.12); padding: 2px
                        7px; border-radius: 4px;">630000</code>：青海省 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius:
                        4px;">640000</code>：宁&nbsp;&nbsp;&nbsp;&nbsp;夏 | <code
                        style="display: inline-block; margin: 3px 5px; color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.12); padding: 2px 7px;
                        border-radius:
                        4px;">650000</code>：新&nbsp;&nbsp;&nbsp;&nbsp;疆

                        </p>
                    deviceName:
                      type: string
                      title: 设备名称
                      description: >-
                        <p style="margin: 0; font-size: 14px; color: inherit;
                        line-height: 1.6;">用于在控制台辨识不同设备，如「<code style="color:
                        inherit; background: rgba(82, 196, 26, 0.08); border:
                        1px solid rgba(82, 196, 26, 0.1); padding: 2px 4px;
                        border-radius: 3px;">张三的iPad</code></p>
                    deviceType:
                      type: integer
                      title: 设备类型
                      description: >-
                        <p style="margin: 0; font-size: 14px; color: inherit;
                        line-height: 1.6;">设备类型：<code style="color: inherit;
                        background: rgba(82, 196, 26, 0.08); border: 1px solid
                        rgba(82, 196, 26, 0.1); padding: 2px 4px; border-radius:
                        3px;">0</code> = iPad</p>
                    clientVersion:
                      type: string
                      title: 客户端版本号
                      description: >-
                        <p style="margin: 0; font-size: 14px; color: inherit;
                        line-height: 1.6;">iPad 最新版<code style="color: inherit;
                        background: rgba(82, 196, 26, 0.08); border: 1px solid
                        rgba(82, 196, 26, 0.1); padding: 2px 4px; border-radius:
                        3px;">5.0.2.206376</code> 。如无特殊需求置空即可</p>
                    aid:
                      type: string
                      title: 本地代理
                      description: >-
                        <p style="margin: 0; font-size: 14px; color: inherit;
                        line-height: 1.6;">- **网络方式3：本地代理**

                        需配合 <code style="color: inherit; background: rgba(82,
                        196, 26, 0.08); border: 1px solid rgba(82, 196, 26,
                        0.1); padding: 2px 4px; border-radius: 3px;">Aid</code>
                        客户端工具使用：[Win Aid
                        工具下载](https://download-1308498490.cos.ap-guangzhou.myqcloud.com/gewe-AidNet-win64.exe_20260425_200627.zip?q-sign-algorithm=sha1&q-ak=AKIDmOkqfDUUDfqjMincBSSAbleGaeQv96mB&q-sign-time=1777118830;10417032430&q-key-time=1777118830;10417032430&q-header-list=host&q-url-param-list=&q-signature=3a7cabdea6463d09f51936f1f5fdad111dc70e9c)

                        需在本地电脑运行 <code style="color: inherit; background:
                        rgba(82, 196, 26, 0.08); border: 1px solid rgba(82, 196,
                        26, 0.1); padding: 2px 4px; border-radius:
                        3px;">Aid</code> 客户端  24小时在线

                        提供最稳定、最纯净的网络环境</p>
                  required:
                    - deviceName
                    - deviceType
                    - clientVersion
                  x-apifox-orders:
                    - areaCode
                    - proxyUrl
                    - aid
                    - deviceName
                    - deviceType
                    - clientVersion
                  title: 请求参数
              required:
                - method
                - params
              x-apifox-orders:
                - method
                - params
            example:
              method: /client/createClient
              params:
                proxyUrl: ''
                areaCode: 320000
                deviceName: stone的ipad
                deviceType: 0
                clientVersion: ''
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    title: 状态码
                    description: >-
                      <p style="margin: 0; font-size: 14px; color: inherit;
                      line-height: 1.6;">0 表示成功</p>
                  data:
                    type: object
                    properties:
                      guid:
                        type: string
                        title: 设备 ID
                        description: >-
                          <p style="margin: 0; font-size: 14px; color: inherit;
                          line-height: 1.6;">参数 guid</p>
                    required:
                      - guid
                    x-apifox-orders:
                      - guid
                    title: 响应数据
                    description: ''
                  msg:
                    type: string
                    title: 说明
                    description: ''
                required:
                  - code
                  - data
                  - msg
                x-apifox-orders:
                  - code
                  - data
                  - msg
                x-apifox-refs: {}
              example:
                code: 0
                data:
                  guid: string
                msg: string
          headers: {}
          x-apifox-name: 成功
      security: []
      x-apifox-folder: API参考/基础能力/登录模块
      x-apifox-status: released
      x-run-in-apifox: https://app.apifox.com/web/project/7051713/apis/api-344613850-run
components:
  schemas: {}
  securitySchemes:
    apiKey:
      type: apikey
      in: header
      name: X-WECOM-TOKEN
servers:
  - url: https://new.qiweapi.com/qiwe
    description: 正式环境
security: []

```
