我想将销售发票与javascript/ google应用程序脚本连接起来。因此,我想用邮递员测试一些东西。我知道,API与XML一起工作,为了获取数据,您需要使用所谓的Browse代码100。但我不得不创建一个工作请求,以获取销售发票数据:
我到目前为止所做的:
我做了很多研究,但找不到我能理解的例子。这样的例子
我将非常感谢任何帮助!
发布于 2022-05-12 09:18:40
尝尝这个
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<Header xmlns="http://www.twinfield.com/">
<AccessToken>{{Accescode}}</AccessToken>
<CompanyCode>{{Company}}</CompanyCode>
</Header>
</soap:Header>
<soap:Body>
<ProcessXmlDocument xmlns="http://www.twinfield.com/">
<xmlRequest>
<columns code="100">
<column xmlns="">
<field>fin.trs.head.yearperiod</field>
<operator>between</operator>
<from>2021/01</from>
<to>2022/01</to>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.head.code</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.head.shortname</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.head.number</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.head.status</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.head.date</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.dim2</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.dim2name</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.head.curcode</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.valuesigned</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.basevaluesigned</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.repvaluesigned</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.openbasevaluesigned</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.invnumber</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.datedue</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.matchstatus</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.matchnumber</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.matchdate</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.openvaluesigned</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.availableforpayruns</field>
<visible>true</visible>
</column>
<column xmlns="">
<field>fin.trs.line.modified</field>
<visible>true</visible>
</column>
</columns>
</xmlRequest>
</ProcessXmlDocument>
</soap:Body>
</soap:Envelope>编辑:让我们从开头开始,首先我假设您能够获得访问代码。使用访问代码,您需要对以下url执行Postmand请求:https://login.twinfield.com/auth/authentication/connect/accesstokenvalidation?token={{Accescode}}
从您需要为我复制clusterUrl的结果来看,如下所示:
"twf.clusterUrl": "https://api.accounting2.twinfield.com"接下来,我们需要找到公司is -这也是我们可以从邮递员那里得到的东西,通过下面的帖子转到url:https://api.accounting2.twinfield.com/webservices/processxml.asmx?wsdl
正如您所看到的,这里有以前的cluserURL,所以您必须用找到的那个替换它。您需要与此请求一起发送的XML信封如下:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:twin="http://www.twinfield.com/">
<soapenv:Header>
<twin:Header>
<twin:AccessToken>{{Accescode}}</twin:AccessToken>
</twin:Header>
</soapenv:Header>
<soapenv:Body>
<twin:ProcessXmlString>
<twin:xmlRequest><![CDATA[<list><type>offices</type></list>]]></twin:xmlRequest>
</twin:ProcessXmlString>
</soapenv:Body>
</soapenv:Envelope>这将导致一个具有ID的列表,您可以从其中收集数据。要获得销售发票,您需要再次使用以下url:
https://api.accounting2.twinfield.com/webservices/processxml.asmx?wsdl
但这一次,我们把信封改成了我上面贴的第一个信封,只是把整个东西都放进了原状,这应该会导致发票清单的出现。
如果您需要更多的信息,我可以尝试为您提供一个集合,但我希望这能帮助您开始工作。
编辑2:关于您的第二个问题,您需要设置头部以接受xml输入,请参见下面

https://stackoverflow.com/questions/71483325
复制相似问题