如何用delphi开发与诺诺网的电子发票接口

genesis1977 2020-05-21 09:06:49
根据标准文档中的DEMO.
String
SendUrl="https://nnfpbox.nuonuocs.cn/shop/buyer/allow/cxfKp/cxfServerKpOrderSync.action";
String order="
{\"identity\":\"2329CC5F90EDAA8208F1F3C72A0CE72A713A9D425CD50CDE\",\"order\":{\"buye
rname\":\"浙江爱信诺\",\"taxnum\":\"124511234993295177\",\"phone\":\"0\",\"address\":\"
浙江省杭州市万塘路
\",\"account\":\"\",\"telephone\":\"0\",\"orderno\":\"nuonuo12345\",\"invoicedate\":\"2018-10
-31 19:16:51\",\"clerk\":\"黄芝\",\"saleaccount\":\"宇宙行
442612010103507108\",\"salephone\":\"0774-7893911\",\"saleaddress\":\"富川瑶族自治县新
永路 138 号
\",\"saletaxnum\":\"339901999999142\",\"kptype\":\"1\",\"message\":\"\",\"payee\":\"林莉苏
\",\"checker\":\"林莉苏
\",\"tsfs\":\"-1\",\"email\":\"502192347@qq.com\",\"qdbz\":\"0\",\"qdxmmc\":\"\",\"dkbz\":\"
0\",\"deptid\":\"\",\"clerkid\":\"\",\"invoiceLine\":\"p\",\"cpybz\":\"\",\"detail\":[{\"goodsname
\":\"苹果
\",\"num\":\"1\",\"price\":\"1\",\"hsbz\":\"1\",\"taxrate\":\"0.13\",\"spec\":\"\",\"unit\":\"吨
\",\"spbm\":\"10101150101\",\"zsbm\":\"\",\"fphxz\":\"0\",\"yhzcbs\":\"0\",\"zzstsgl\":\"\",\"lsl
bs\":\"\",\"kce\":\"\"}]}}";

不知道用INDY如何传递order的请求体。特别是order\":{\"buyername这样的数组对象。不知道代码如何实现。
求高手指教。
...全文
742 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
genesis1977 2020-05-21
  • 打赏
  • 举报
回复
感谢二位的帮助。我先尝试一下。
tanqth 2020-05-21
  • 打赏
  • 举报
回复
不用调整,直接放到字符串里。
  • 打赏
  • 举报
回复
用TIdHTTP.Post就可以,需要注意的有两点,一是他的URL是HTTPS,需要带上OpenSSL的DLL,网上有很多例子,二是Delphi的string字面值是单引号括起来的,串内有单引号要用连续两个单引号表示,不过我印象JSON中的单引号换成双引号也可以
genesis1977 2020-05-21
  • 打赏
  • 举报
回复
我的确也是这样考虑的。不过,原来的demo中json格式中包括{}这样的符号也直接放进字符串中吗?不需要另外调整吗。
{'identity':'2329CC5F90EDAA8208F1F3C72A0CE72A713A9D425CD50CDE','order':{'buyername':'浙江爱信
诺','taxnum':'124511234993295177…………。我就是这样拼的。
请指教,太感谢你了。
tanqth 2020-05-21
  • 打赏
  • 举报
回复
你可以就把他当做一个有规则的字符串使用。直接拼接。 然后直接发送字符串。
genesis1977 2020-05-21
  • 打赏
  • 举报
回复
谢谢。不过如何传递json,能不能帮忙写几行代码。我找到的用例都是如下所示的这样的。
postStream := TIdMultiPartFormDataStream.Create; // 创建TIdMultiPartFormDataStream类

postStream.AddFormField('textfield', 'd:\temp\test.png');
这种如何写出诺诺电子发票的order的请求体。
tanqth 2020-05-21
  • 打赏
  • 举报
回复
这是JSON,不是数组。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧