如何在调用 smooch.appUsers.get 之前检查用户是否已经存在?

How can I check if a user already exists before calling smooch.appUsers.get?

我正在使用 smooch-core NPM 包开发一个使用 Smooch 的服务。

在创建用户之前,我想检查该特定用户 ID 是否已存在于我的应用程序中,如果不存在,我希望创建新用户。

这是我的代码:

try {
      await this.smooch.appUsers.get(appId, userId);
    } catch (err) {
      await this.smooch.appUsers.create(appId, userId);
      await this.smooch.appUsers.get(appId, userId);
    }

当我尝试使用不存在的 ID (smooch.appUsers.get) 获取用户信息时,我总是遇到 404 错误,我认为这不是一个好方法。

还有其他方法可以检查用户是否已经存在吗?

404 user_not_found 是官方支持的知道用户不存在的方式。或者,您可以在不先执行 appUsers.get 的情况下拨打 appUsers.create,如果用户已经存在,您将收到 409 conflict

另请注意,调用 .create returns 已创建的用户,因此在此之后您不需要再执行 .get (参考您发布的代码段)