using RestSharp; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ubl2apipost { class Program { private static void Main(string[] args) { var client = new RestClient("https://r19.praf.rs/api/invoice/v1/send/file/xml"); //client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("authorization-general", "Bearer 272BED09E023NotIsOriginal"); request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImNlYzU4YzczN2M4NDRmY2IzZTFlOWE0N2I2OGU5NjQ4ZTNhODY3M2Q0OTAwN2Q5OGI5MDU0ZGI2OWZjMjYwMGNjZjhmZGE5ZWYwYWZiZmIxIn0.eyJhdWQiOiIxIiwianRpIjoiY2VjNThjNzM3Yzg0NGZjYjNlMWU5YTQ3YjY4ZTk2NDhlM2E4NjczZDQ5MDA3ZDk4YjkwNTRkYjY5ZmMyNjAwY2NmOGZkYTllZjBhZmJmYjEiLCJpYXQiOjE2Mzc1ODc0NTAsIm5iZiI6MTYzNzU4NzQ1MCwiZXhwIjoxNjY5MTIzNDUwLCJzdWIiOiIxIiwic2NvcGVzIjpbXSwidXNlcm5hbWUiOiJ2b2ppc2xhdi5jdmVqaWNAc3BsYWJvcmF0b3JpamEucnMiLCJsaWNlbnNlSUQiOjk2fQ.vAzrEk-IIC3oFI-SNcKGlzSgyml9GbAu-Slj4WtzGTPTRtvdrOD3pBYlM5ABymQnxXmxc6NFXFum6euiw9xvpusSto6Tqwo-DBytbTVQmtl2r_CeGZJq8puHMP4sBAV2jJpHghHARpYlAuPzROF_QXuAye_AYfMx0PWjDyb8huXCqkxKGzIFkBcokZCoCi2srmOzUzQsWXvtYLOt0L80xIn6Hig6AAQvvUkHQUmpqtS81biX5V7v_MGtX0aOd98mTx2bnJrMgbsQB131uocn7mWQGQYrzsOsyFbC_RC6DcuJ7WPMKU8Thn8snMnSLN9p8NyaeQ-nHiZf6esJQrJPfmeVasHVuI5PBUsVrr9K2kUzvR_YJn1-Fe9_JKyGlLqC7rr5SItU9_u6EwdJiVW7cIrddxDaDwhbkypa14SSA-QX_kzPM8zuUtN4XmNCSN6_OMSTyEBtdAc0Oq5W9cTXWBcU-W4btA44KbM0ZPdTjl-WpWiXK90rTP4T5vE9SBLO0W0If9bHwFPSS5df21gGxiR18v18ims__XfhA2lFALfAvAi1nC1BTfbI_GvoHceM3m96QGaIQ26L5qe_24lM2ZCy_4ezWEDNa1ydCIX7BodKkj_NotIsOriginal"); request.AddHeader("Cookie", "kancelarko_session=Hti9dX4wY1VNprCY7PvzVjXLJZ09u1iWGzYGxCdS"); request.AddFile("data", "MyUBL2-1-File.xml"); request.AddParameter("type", "0"); request.AddParameter("sef", "1"); request.AddParameter("contacts[0][email]", "MyEmailAddress@MyDomen4Email.rs"); request.AddParameter("contacts[0][name]", "FirstName LastName"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); string aaa = "sdsd"; } } }I don't know how to write / translate this code in VFP
srcFile = [MyUBL2-1-File.xml] data = Filetostr(m.srcFile) fileName = justfName(m.srcFile) boundary = "----WebKitFormBoundary7MA4YWxkTrZu0gW" TEXT TO m.lcContent TEXTMERGE NOSHOW ----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="data"; filename="MyUBL2-1-File.xml" Content-Type: text/xml <<data>> ----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="type" 0 ----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="sef" 1 ----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="contacts[0][email]" MyEmailAddress@MyDomen4Email.rs ----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="contacts[0][name]" FirstName LastName ----WebKitFormBoundary7MA4YWxkTrZu0gW ENDTEXT m.liContent=LEN(m.lcContent) m.loXMLHTTP=CREATEOBJECT("Msxml2.XMLHTTP.6.0") =COMPROP(m.loXMLHTTP, "UTF8",1) url="https://r19.praf.rs/api/invoice/v1/send/file/xml" m.loXMLHTTP.Open("POST", url, .f.) TEXT TO auth TEXTMERGE noshow Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImNlYzU4YzczN2M4NDRmY2IzZTFlOWE0N2I2OGU5NjQ4ZTNhODY3M2Q0OTAwN2Q5OGI5MDU0ZGI2OWZjMjYwMGNjZjhmZGE5ZWYwYWZiZmIxIn0.eyJhdWQiOiIxIiwianRpIjoiY2VjNThjNzM3Yzg0NGZjYjNlMWU5YTQ3YjY4ZTk2NDhlM2E4NjczZDQ5MDA3ZDk4YjkwNTRkYjY5ZmMyNjAwY2NmOGZkYTllZjBhZmJmYjEiLCJpYXQiOjE2Mzc1ODc0NTAsIm5iZiI6MTYzNzU4NzQ1MCwiZXhwIjoxNjY5MTIzNDUwLCJzdWIiOiIxIiwic2NvcGVzIjpbXSwidXNlcm5hbWUiOiJ2b2ppc2xhdi5jdmVqaWNAc3BsYWJvcmF0b3JpamEucnMiLCJsaWNlbnNlSUQiOjk2fQ.vAzrEk-IIC3oFI-SNcKGlzSgyml9GbAu-Slj4WtzGTPTRtvdrOD3pBYlM5ABymQnxXmxc6NFXFum6euiw9xvpusSto6Tqwo-DBytbTVQmtl2r_CeGZJq8puHMP4sBAV2jJpHghHARpYlAuPzROF_QXuAye_AYfMx0PWjDyb8huXCqkxKGzIFkBcokZCoCi2srmOzUzQsWXvtYLOt0L80xIn6Hig6AAQvvUkHQUmpqtS81biX5V7v_MGtX0aOd98mTx2bnJrMgbsQB131uocn7mWQGQYrzsOsyFbC_RC6DcuJ7WPMKU8Thn8snMnSLN9p8NyaeQ-nHiZf6esJQrJPfmeVasHVuI5PBUsVrr9K2kUzvR_YJn1-Fe9_JKyGlLqC7rr5SItU9_u6EwdJiVW7cIrddxDaDwhbkypa14SSA-QX_kzPM8zuUtN4XmNCSN6_OMSTyEBtdAc0Oq5W9cTXWBcU-W4btA44KbM0ZPdTjl-WpWiXK90rTP4T5vE9SBLO0W0If9bHwFPSS5df21gGxiR18v18ims__XfhA2lFALfAvAi1nC1BTfbI_GvoHceM3m96QGaIQ26L5qe_24lM2ZCy_4ezWEDNa1ydCIX7BodKkj_NotIsOriginal ENDTEXT try m.loXMLHTTP.setRequestHeader('Host', 'r19.praf.rs') m.loXMLHTTP.setRequestHeader('Content-type', 'multipart/form-data; charset=utf-8; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW') * m.loXMLHTTP.setRequestHeader('Content-Length', m.liContent) m.loXMLHTTP.setRequestHeader('authorization-general', 'Bearer 272BED09E023NotIsOriginal') m.loXMLHTTP.setRequestHeader('Authorization', m.auth) m.loXMLHTTP.setRequestHeader('Cookie', 'kancelarko_session=Hti9dX4wY1VNprCY7PvzVjXLJZ09u1iWGzYGxCdS') m.loXMLHTTP.send(m.lcContent) CATCH TO oerr SET STEP ON ENDTRY ?m.loXMLHTTP.statustext ?m.loXMLHTTP.Status ?m.loXMLHTTP.responseTExt RETURNBut if I make it from a cURL (from PostMan) .bat file - then it works
curl -X POST "https://r19.praf.rs/api/invoice/v1/send/file/xml" -H "accept: application/json" -H "authorization-general: Bearer 272BED09E023NotIsOriginal" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImNlYzU4YzczN2M4NDRmY2IzZTFlOWE0N2I2OGU5NjQ4ZTNhODY3M2Q0OTAwN2Q5OGI5MDU0ZGI2OWZjMjYwMGNjZjhmZGE5ZWYwYWZiZmIxIn0.eyJhdWQiOiIxIiwianRpIjoiY2VjNThjNzM3Yzg0NGZjYjNlMWU5YTQ3YjY4ZTk2NDhlM2E4NjczZDQ5MDA3ZDk4YjkwNTRkYjY5ZmMyNjAwY2NmOGZkYTllZjBhZmJmYjEiLCJpYXQiOjE2Mzc1ODc0NTAsIm5iZiI6MTYzNzU4NzQ1MCwiZXhwIjoxNjY5MTIzNDUwLCJzdWIiOiIxIiwic2NvcGVzIjpbXSwidXNlcm5hbWUiOiJ2b2ppc2xhdi5jdmVqaWNAc3BsYWJvcmF0b3JpamEucnMiLCJsaWNlbnNlSUQiOjk2fQ.vAzrEk-IIC3oFI-SNcKGlzSgyml9GbAu-Slj4WtzGTPTRtvdrOD3pBYlM5ABymQnxXmxc6NFXFum6euiw9xvpusSto6Tqwo-DBytbTVQmtl2r_CeGZJq8puHMP4sBAV2jJpHghHARpYlAuPzROF_QXuAye_AYfMx0PWjDyb8huXCqkxKGzIFkBcokZCoCi2srmOzUzQsWXvtYLOt0L80xIn6Hig6AAQvvUkHQUmpqtS81biX5V7v_MGtX0aOd98mTx2bnJrMgbsQB131uocn7mWQGQYrzsOsyFbC_RC6DcuJ7WPMKU8Thn8snMnSLN9p8NyaeQ-nHiZf6esJQrJPfmeVasHVuI5PBUsVrr9K2kUzvR_YJn1-Fe9_JKyGlLqC7rr5SItU9_u6EwdJiVW7cIrddxDaDwhbkypa14SSA-QX_kzPM8zuUtN4XmNCSN6_OMSTyEBtdAc0Oq5W9cTXWBcU-W4btA44KbM0ZPdTjl-WpWiXK90rTP4T5vE9SBLO0W0If9bHwFPSS5df21gGxiR18v18ims__XfhA2lFALfAvAi1nC1BTfbI_GvoHceM3m96QGaIQ26L5qe_24lM2ZCy_4ezWEDNa1ydCIX7BodKkj_NotIsOriginal" -H "Content-Type: multipart/form-data" -F "data=@MyUBL2-1-File.xml" -F "type=0" -F "contacts[0][name]=FirstName LastName" -F "contacts[0][email]=MyEmailAddress@MyDomen4Email.rs" -F "sef=1" -F "crf=0" > Answer_MyUBL2-1-File_2118495-00010-397711_20211127075700.jsonNote: