如何使用Acumatica REST API创建关系

如何使用Acumatica REST API创建关系,acumatica,Acumatica,我想在客户->联系人之间建立关系。一般来说,我想知道在Acumatica Rest API中创建关系的正确方法 我在php中使用curl将以下json正文作为PUT发送 我曾尝试在Contacts数组中传递ContactID,但它只是告诉我缺少DefAddressID等字段,但当我尝试添加字段时,它不会消失 我可以通过在businessaccount字段中添加customerid从联系人创建关系,但我希望能够以两种方式创建关系 { "AccountRef": {}, "ApplyOver

我想在客户->联系人之间建立关系。一般来说,我想知道在Acumatica Rest API中创建关系的正确方法

我在php中使用curl将以下json正文作为PUT发送

我曾尝试在Contacts数组中传递ContactID,但它只是告诉我缺少DefAddressID等字段,但当我尝试添加字段时,它不会消失

我可以通过在businessaccount字段中添加customerid从联系人创建关系,但我希望能够以两种方式创建关系

{
  "AccountRef": {},
  "ApplyOverdueCharges": {
    "value": false
  },
  "AutoApplyPayments": {
    "value": false
  },
  "BillingAddressSameAsMain": {
    "value": true
  },
  "BillingContactSameAsMain": {
    "value": true
  },
  "CreatedDateTime": {
    "value": "2014-07-14T14:26:40.1+00:00"
  },
  "CurrencyID": {
    "value": "USD"
  },
  "Contacts": [
    {
      "ContactID": {
        "value": "12108"
      }
    },
    {
      "ContactID": {
        "value": "12107"
      }
    }
  ],
  "CurrencyRateType": {},
  "CustomerClass": {
    "value": "KEY"
  },
  "CustomerID": {
    "value": "FBSG2"
  },
  "CustomerName": {
    "value": "Faye Business Systems Group"
  },
  "EnableCurrencyOverride": {
    "value": true
  },
  "EnableRateOverride": {
    "value": false
  },
  "EnableWriteOffs": {
    "value": true
  },
  "FOBPoint": {},
  "LeadTimedays": {
    "value": 0
  },
  "LocationName": {
    "value": "Primary Location"
  },
  "MultiCurrencyStatements": {
    "value": false
  },
  "OrderPriority": {
    "value": 0
  },
  "ParentRecord": {},
  "PriceClassID": {},
  "PrintDunningLetters": {
    "value": false
  },
  "PrintInvoices": {
    "value": false
  },
  "PrintStatements": {
    "value": false
  },
  "ResidentialDelivery": {
    "value": false
  },
  "SaturdayDelivery": {
    "value": false
  },
  "SendDunningLettersbyEmail": {
    "value": false
  },
  "SendInvoicesbyEmail": {
    "value": false
  },
  "SendStatementsbyEmail": {
    "value": false
  },
  "ShippingAddressSameAsMain": {
    "value": true
  },
  "ShippingBranch": {},
  "ShippingContactSameAsMain": {
    "value": true
  },
  "ShippingRule": {
    "value": "Back Order Allowed"
  },
  "ShippingTerms": {},
  "ShippingZoneID": {},
  "ShipVia": {},
  "StatementCycleID": {
    "value": "EOM"
  },
  "StatementType": {
    "value": "Open Item"
  },
  "Status": {
    "value": "Active"
  },
  "TaxRegistrationID": {},
  "TaxZone": {},
  "Terms": {
    "value": "30D"
  },
  "WarehouseID": {},
  "WriteOffLimit": {
    "value": 20.0000
  },
  "custom": {},
  "files": []
},
我希望能够进入客户帐户,在“联系人”选项卡下看到我刚刚关联的联系人。我也希望能够进入联系人,并看到客户

实际结果:
我返回错误错误:“DefAddressID”不能为空。

Acumatica API不支持这一点

我想我理解你的处境

您试图直接从客户屏幕创建联系人,这是不可能的。如果在UI中转到该屏幕,您可能会注意到他们的联系人选项卡上有一个“添加联系人”按钮。这可能会给你一种错觉,以为你可以从客户屏幕添加联系人

实际上,此按钮的作用是打开联系人屏幕,并在某些字段中预先填入与您所在客户相关的值


因此,如果您想通过Web服务创建联系人,您必须通过端点中的联系人实体。

因为您提到的是PUT呼叫,这似乎是创建联系人,但您也提到了“我希望能够进入客户帐户,并在联系人选项卡下看到我刚刚关联的联系人”。您是试图通过API在客户下创建联系人,还是试图检索特定客户的联系人列表?我运行API请求(创建联系人)。然后我登录acumatica travel到客户帐户,然后转到contacts选项卡,我应该会看到api请求刚刚创建的关系。我不尝试使用api检索,只是创建@萨莫尔518