MoneyWorks:以编程方式更新记录

时间:2014-12-03 12:23:44

标签: php api rest

我想更新MoneyWorks中的记录。我可以使用REST Api创建,但我没有找到更新记录的帮助。

我正在使用此文档http://cognito.co.nz/developer/moneyworks-datacentre-rest-api/

使用以下代码创建记录,并且它正在运行

<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://server/REST/username:password@doc/import/table=name&format=xml-verbose");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    $result = curl_exec($ch);
    curl_close($ch);

?>

其中$ xml是字符串中的输入xml。在他们提到的文档中我们可以更新记录,但他们没有提供示例。

请帮我用REST Api更新记录

1 个答案:

答案 0 :(得分:0)

首先,您不要在URL中指定表名和格式(您可以将它们用于导出,即GET)。 表名和其他导入参数被指定为xml中表元素的属性。要更新记录,请指定update="true"。请参阅此处的文档http://cognito.co.nz/developer/xml-data-exchange/

例如,您可以导入以下xml以更新SPRING的名称记录的一个字段。您可以通过复制xml并将其粘贴到MoneyWorks中的任何列表窗口(在MoneyWorks Gold 7.1.8及更高版本中调用XML导入)来测试它。相同的XML将用于REST导入。

<?xml version="1.0"?>
<table name="Name" update="true">
    <name>
        <code>SPRING</code>
        <contact>New contact name</contact>
    </name>
</table>