0

我运行此代码以访问 Mindbody API。此方法将客户端添加到选定的类。但这不起作用并给我消息:

“错误代码:201 操作失败。有关详细信息,请参阅对象消息。”

 public string SignUp(Credentials credentials, string[] clientIds, int[] classIds)
    {
        var addToclassRequest = new AddClientsToClassesRequest
        {
            SourceCredentials = new SourceCredentials
            {
                SourceName = credentials.SourceName,
                Password = credentials.SourcePassword,
                SiteIDs = credentials.SiteId
            },
           ClientIDs = clientIds,
           ClassIDs = classIds,
           Test = true,
           RequirePayment = false,
           Waitlist = false,
           SendEmail = true
        };
        var c = _classService.AddClientsToClasses(addToclassRequest);

        return c.Message.ToString();
    }

我不知道为什么它失败了。任何帮助将不胜感激。

4

2 回答 2

0

您可能需要设置 request.UserCredentials 除了 request.SourceCredentials; 删除RequirePayment,Waitlist,设置Test = false;并确保 clientId 和 classId 存在。

public string SignUp(Credentials credentials, string[] clientIds, int[] classIds)
{
    var addToclassRequest = new AddClientsToClassesRequest
    {
        SourceCredentials = new SourceCredentials
        {
            SourceName = credentials.SourceName,
            Password = credentials.SourcePassword,
            SiteIDs = credentials.SiteId
        },
       ClientIDs = clientIds,
       ClassIDs = classIds,
       Test = false,
       //RequirePayment = false,
       //Waitlist = false,
       SendEmail = true
    };
    var c = _classService.AddClientsToClasses(addToclassRequest);

    return c.Message.ToString();
}
于 2015-08-06T06:54:48.920 回答
0

由于您没有UserCredentials在请求中发送任何内容,因此您在“消费者模式”下运行,该模式的权限通常低于“业务模式”,如果您同时通过SourceCredentials和,您的 API 调用将处于该模式UserCredentials

我不完全确定,但可能是如果您想确保不需要付款即可将客户添加到类(RequirePayment = false),您可能需要在“业务模式”中运行调用”。

如果这不起作用并且您仍然收到相同的错误,您可能应该确认:

  • 您有一个有效的客户 ID
  • 您有一个有效的班级 ID

如果这仍然不起作用,您可能想尝试传入一个ClientServiceID又名定价选项 ID(我知道这个参数没有在AddClientsToClassesAPI 调用文档中专门记录,但您可以将它传入;弄清楚这是猜测)对于您打算用于支付课程费用的定价选项。这将带您找到一种方法,为您希望为客户预订的课程支付某种费用。

不确定这是否会有所帮助,但这是我发现我最终需要做的工作流程,以便在课程中正确预订客户(以下每个步骤都需要 API 调用):

  • 为我要预订的用户检索或创建 MindBody 客户端 ID
  • 检索要预订客户端的类的 MindBody 类 ID
  • 从 MindBody 站点检索所有服务类别(又名程序 ID)并选择包含我将用来支付课程费用的定价选项的服务类别
  • 检索客户端能够使用的所有定价选项(也称为客户端服务 ID),并选择一个合适的选项
  • 检索付款方式列表并提取我打算使用的方式的 ID
  • 使用客户 ID、定价选项 ID 和付款方式 ID 为客户购买定价选项
  • 使用客户端 ID 和类 ID 检索已购买定价选项的 ID,然后使用之前的服务类别 ID 确保定价选项是正确的
  • 使用客户、班级、购买定价选项的 ID 将客户添加到班级

这非常复杂,我花了很长时间才最终按预期工作。

于 2015-09-25T05:43:04.043 回答