Я хотел обновить запись в 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
Во-первых, вы не указываете имя и формат таблицы в URL-адресе (вы должны использовать их для экспорта, который является GET
). Имя таблицы и другие параметры импорта указываются как атрибуты элемента таблицы в xml. Чтобы обновить записи, укажите update="true"
. См. Документацию здесь http://cognito.co.nz/developer/xml-data-exchange/
Например, вы можете импортировать следующий xml для обновления одного поля записи имени для SPRING. Вы можете проверить это, скопировав xml и просто вставив его в любое окно списка в MoneyWorks (которое вызывает импорт XML в MoneyWorks Gold 7.1.8 и более поздних версиях). Тот же XML будет работать для импорта REST.
<?xml version="1.0"?>
<table name="Name" update="true">
<name>
<code>SPRING</code>
<contact>New contact name</contact>
</name>
</table>