דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. יצירת מסמכים דרך ה API של EZcount - אקסס

יצירת מסמכים דרך ה API של EZcount - אקסס

מתוזמן נעוץ נעול הועבר תכנות
9 פוסטים 5 כותבים 366 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מלאמ מנותק
    מלאמ מנותק
    מלא
    כתב ב נערך לאחרונה על ידי מלא
    #1

    אני מנסה ליצור חשבוניות ב EZCount
    עם הAPI שלהם, דרך אקסס VBA
    בינתיים הולך קש, לא מצאתי משהו שעובד.

    שאלתי:
    א. האם יש דרך להבין מתוך האפשרויות שEZcount מחזיר, מה צריך לשנות כדי שיעבוד. (בדקתי ב jsonlint.com שהJSON תקין)
    ב. אם לא, האם מישהו יודע על משהו שעובד באקסס בשביל זה?
    ג. תחליף. מדובר במערכת שבנויה באקסס כבר כמה שנים, עכשיו רוצים להוסיף חשבוניות. האם יש דרך להכניס משהו חיצוני, תוסף או משהו כזה, שמיוצר בC# או VB שיתקשר עם השרת?. (אאל"ט בעבר דיברו כאן מאפשרות כזאת)

    כאן המסמך של הAPI שלהם


    זה קוד השליחה:

    Function httpPost(url, msg)
        With CreateObject("WinHttp.WinHttpRequest.5.1")
            .Open "POST", url, False
            .setRequestHeader "Content-type", "application/json"
            .send msg
            httpPost = .responseText
        End With
    End Function
    
    Sub Test()
        Body = "{""api_key"": ""b3b....1"",""developer_email"": ""myMail@gmail.com"",""type"": ""405"",""customer_name"": ""My name"",""payment"": ""[{""payment_type"": ""1"",""date"": ""10/10/2020"",""payment_sum"": ""2""}]""}"
        Debug.Print httpPost("https://www.ezcount.co.il/api/createDoc", JsonConverter.ConvertToJson(Body))
    End Sub
    

    וזה מה שמתקבל:

        "errMsg": "no data sent, please send a GET, POST or JSON request.,known causes for getting this error:, 1.you are using a none SSL connection (http), 2.your JSON is not valid, please validate your json at: jsonlint.com, 3.you are sending a JSON as GET request instead of POST, 4.your request header is not lower case (application\/json) and you are using ASP classic",
        "errMsgPretty": [
            "no data sent, please send a GET, POST or JSON request.",
            "known causes for getting this error:",
            " 1.you are using a none SSL connection (http)",
            " 2.your JSON is not valid, please validate your json at: jsonlint.com",
            " 3.you are sending a JSON as GET request instead of POST",
            " 4.your request header is not lower case (application\/json) and you are using ASP classic"
        ],
        "success": false,
        "unixtime": 1618412221
    
    
    dovidD clickoneC 2 תגובות תגובה אחרונה
    0
    • מלאמ מלא

      אני מנסה ליצור חשבוניות ב EZCount
      עם הAPI שלהם, דרך אקסס VBA
      בינתיים הולך קש, לא מצאתי משהו שעובד.

      שאלתי:
      א. האם יש דרך להבין מתוך האפשרויות שEZcount מחזיר, מה צריך לשנות כדי שיעבוד. (בדקתי ב jsonlint.com שהJSON תקין)
      ב. אם לא, האם מישהו יודע על משהו שעובד באקסס בשביל זה?
      ג. תחליף. מדובר במערכת שבנויה באקסס כבר כמה שנים, עכשיו רוצים להוסיף חשבוניות. האם יש דרך להכניס משהו חיצוני, תוסף או משהו כזה, שמיוצר בC# או VB שיתקשר עם השרת?. (אאל"ט בעבר דיברו כאן מאפשרות כזאת)

      כאן המסמך של הAPI שלהם


      זה קוד השליחה:

      Function httpPost(url, msg)
          With CreateObject("WinHttp.WinHttpRequest.5.1")
              .Open "POST", url, False
              .setRequestHeader "Content-type", "application/json"
              .send msg
              httpPost = .responseText
          End With
      End Function
      
      Sub Test()
          Body = "{""api_key"": ""b3b....1"",""developer_email"": ""myMail@gmail.com"",""type"": ""405"",""customer_name"": ""My name"",""payment"": ""[{""payment_type"": ""1"",""date"": ""10/10/2020"",""payment_sum"": ""2""}]""}"
          Debug.Print httpPost("https://www.ezcount.co.il/api/createDoc", JsonConverter.ConvertToJson(Body))
      End Sub
      

      וזה מה שמתקבל:

          "errMsg": "no data sent, please send a GET, POST or JSON request.,known causes for getting this error:, 1.you are using a none SSL connection (http), 2.your JSON is not valid, please validate your json at: jsonlint.com, 3.you are sending a JSON as GET request instead of POST, 4.your request header is not lower case (application\/json) and you are using ASP classic",
          "errMsgPretty": [
              "no data sent, please send a GET, POST or JSON request.",
              "known causes for getting this error:",
              " 1.you are using a none SSL connection (http)",
              " 2.your JSON is not valid, please validate your json at: jsonlint.com",
              " 3.you are sending a JSON as GET request instead of POST",
              " 4.your request header is not lower case (application\/json) and you are using ASP classic"
          ],
          "success": false,
          "unixtime": 1618412221
      
      
      dovidD מחובר
      dovidD מחובר
      dovid
      ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      @מלא הJSON לא תקין.
      אחרי הpayment צריך מייד להתחיל [ ללא מרכאות. וכן בסוף אחרי סיום המערך צריך להיות ללא מרכאות אחרי הסוגר המרובע, ככה:

       Body = "{""api_key"": ""b3b....1"",""developer_email"": ""myMail@gmail.com."",""type"": ""405"",""customer_name"": ""My name"",""payment"": [{""payment_type"": ""1"",""date"": ""10/10/2020"",""payment_sum"": ""2""}]}"
      
      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      מלאמ תגובה 1 תגובה אחרונה
      1
      • dovidD dovid

        @מלא הJSON לא תקין.
        אחרי הpayment צריך מייד להתחיל [ ללא מרכאות. וכן בסוף אחרי סיום המערך צריך להיות ללא מרכאות אחרי הסוגר המרובע, ככה:

         Body = "{""api_key"": ""b3b....1"",""developer_email"": ""myMail@gmail.com."",""type"": ""405"",""customer_name"": ""My name"",""payment"": [{""payment_type"": ""1"",""date"": ""10/10/2020"",""payment_sum"": ""2""}]}"
        
        מלאמ מנותק
        מלאמ מנותק
        מלא
        כתב ב נערך לאחרונה על ידי מלא
        #3

        @dovid
        אותה תגובה.

        זה הפלט של ConvertToJson אם משנה.

        "{\"api_key\": \"b3b1c...edaf6d9f\",\"developer_email\": \"myMail@gmail.com\",\"type\": \"405\",\"customer_name\": \"My name\",\"payment\": [{\"payment_type\": \"1\",\"date\": \"10/10/2020\",\"payment_sum\": \"2\"}]}"
        

        מכל החיפושים ברשת, לכאורה זה הקוד לשלוח JSON אבל משום מה זה מחזיר לי שגיאה.

        @OdedDvir יש לך נסיון עם זה?
        (או אולי @clickone )

        OdedDvirO תגובה 1 תגובה אחרונה
        0
        • מלאמ מלא

          אני מנסה ליצור חשבוניות ב EZCount
          עם הAPI שלהם, דרך אקסס VBA
          בינתיים הולך קש, לא מצאתי משהו שעובד.

          שאלתי:
          א. האם יש דרך להבין מתוך האפשרויות שEZcount מחזיר, מה צריך לשנות כדי שיעבוד. (בדקתי ב jsonlint.com שהJSON תקין)
          ב. אם לא, האם מישהו יודע על משהו שעובד באקסס בשביל זה?
          ג. תחליף. מדובר במערכת שבנויה באקסס כבר כמה שנים, עכשיו רוצים להוסיף חשבוניות. האם יש דרך להכניס משהו חיצוני, תוסף או משהו כזה, שמיוצר בC# או VB שיתקשר עם השרת?. (אאל"ט בעבר דיברו כאן מאפשרות כזאת)

          כאן המסמך של הAPI שלהם


          זה קוד השליחה:

          Function httpPost(url, msg)
              With CreateObject("WinHttp.WinHttpRequest.5.1")
                  .Open "POST", url, False
                  .setRequestHeader "Content-type", "application/json"
                  .send msg
                  httpPost = .responseText
              End With
          End Function
          
          Sub Test()
              Body = "{""api_key"": ""b3b....1"",""developer_email"": ""myMail@gmail.com"",""type"": ""405"",""customer_name"": ""My name"",""payment"": ""[{""payment_type"": ""1"",""date"": ""10/10/2020"",""payment_sum"": ""2""}]""}"
              Debug.Print httpPost("https://www.ezcount.co.il/api/createDoc", JsonConverter.ConvertToJson(Body))
          End Sub
          

          וזה מה שמתקבל:

              "errMsg": "no data sent, please send a GET, POST or JSON request.,known causes for getting this error:, 1.you are using a none SSL connection (http), 2.your JSON is not valid, please validate your json at: jsonlint.com, 3.you are sending a JSON as GET request instead of POST, 4.your request header is not lower case (application\/json) and you are using ASP classic",
              "errMsgPretty": [
                  "no data sent, please send a GET, POST or JSON request.",
                  "known causes for getting this error:",
                  " 1.you are using a none SSL connection (http)",
                  " 2.your JSON is not valid, please validate your json at: jsonlint.com",
                  " 3.you are sending a JSON as GET request instead of POST",
                  " 4.your request header is not lower case (application\/json) and you are using ASP classic"
              ],
              "success": false,
              "unixtime": 1618412221
          
          
          clickoneC מנותק
          clickoneC מנותק
          clickone
          כתב ב נערך לאחרונה על ידי
          #4

          @מלא אמר ביצירת מסמכים דרך ה API של EZcount - אקסס:

          ג. תחליף. מדובר במערכת שבנויה באקסס כבר כמה שנים, עכשיו רוצים להוסיף חשבוניות. האם יש דרך להכניס משהו חיצוני, תוסף או משהו כזה, שמיוצר בC# או VB שיתקשר עם השרת?. (אאל"ט בער דיברו כאן מאפשרות כזאת)

          אני זוכר שלתוכנה כספית יש API עם מימוש של DLL
          מצד שני אם אתה מרוצה כיום (לכאורה אתה רק בהתחלת פיתוח...) הייתי מציע לך לכתוב את זה כDLL של דוטנט ולקשר אותו לאקסס

          אין טסט כמו פרודקשן.

          המייל שלי urivpn@gmail.com

          תגובה 1 תגובה אחרונה
          1
          • מלאמ מלא

            @dovid
            אותה תגובה.

            זה הפלט של ConvertToJson אם משנה.

            "{\"api_key\": \"b3b1c...edaf6d9f\",\"developer_email\": \"myMail@gmail.com\",\"type\": \"405\",\"customer_name\": \"My name\",\"payment\": [{\"payment_type\": \"1\",\"date\": \"10/10/2020\",\"payment_sum\": \"2\"}]}"
            

            מכל החיפושים ברשת, לכאורה זה הקוד לשלוח JSON אבל משום מה זה מחזיר לי שגיאה.

            @OdedDvir יש לך נסיון עם זה?
            (או אולי @clickone )

            OdedDvirO מנותק
            OdedDvirO מנותק
            OdedDvir
            כתב ב נערך לאחרונה על ידי
            #5

            @מלא אמר ביצירת מסמכים דרך ה API של EZcount - אקסס:

            @OdedDvir יש לך נסיון עם זה?

            לא.
            אבל משהו לא מובן לי בקוד הנ"ל.
            מדוע אתה משתמש בפונקציה ConvertToJson על Body, כאשר Body מוגדר כבר כמחרוזת בפורמט Json? הפונקציה אמורה לקבל אובייקט ולהמיר אותו לJson. להערכתי הפונקציה מחזירה לך מחרוזת Json שמכילה אובייקט אנונימי של מחרוזת Json....
            נסה לשלוח את Body ישירות כפרמטר:

            Sub Test()
                Body = "{""api_key"": ""b3b....1"",""developer_email"": ""myMail@gmail.com"",""type"": ""405"",""customer_name"": ""My name"",""payment"": ""[{""payment_type"": ""1"",""date"": ""10/10/2020"",""payment_sum"": ""2""}]""}"
                Debug.Print httpPost("https://www.ezcount.co.il/api/createDoc", Body)
            End Sub
            

            הערה: לא התעמקתי בשינוי של מבנה ה-Json עצמו שהביא @dovid, לצערי אין לי זמן כעת לעבור על הדוקומנטציה של ה-API. פשוט העלתי את הנקודה הנוספת הנ"ל.

            dovidD מלאמ 2 תגובות תגובה אחרונה
            5
            • OdedDvirO OdedDvir

              @מלא אמר ביצירת מסמכים דרך ה API של EZcount - אקסס:

              @OdedDvir יש לך נסיון עם זה?

              לא.
              אבל משהו לא מובן לי בקוד הנ"ל.
              מדוע אתה משתמש בפונקציה ConvertToJson על Body, כאשר Body מוגדר כבר כמחרוזת בפורמט Json? הפונקציה אמורה לקבל אובייקט ולהמיר אותו לJson. להערכתי הפונקציה מחזירה לך מחרוזת Json שמכילה אובייקט אנונימי של מחרוזת Json....
              נסה לשלוח את Body ישירות כפרמטר:

              Sub Test()
                  Body = "{""api_key"": ""b3b....1"",""developer_email"": ""myMail@gmail.com"",""type"": ""405"",""customer_name"": ""My name"",""payment"": ""[{""payment_type"": ""1"",""date"": ""10/10/2020"",""payment_sum"": ""2""}]""}"
                  Debug.Print httpPost("https://www.ezcount.co.il/api/createDoc", Body)
              End Sub
              

              הערה: לא התעמקתי בשינוי של מבנה ה-Json עצמו שהביא @dovid, לצערי אין לי זמן כעת לעבור על הדוקומנטציה של ה-API. פשוט העלתי את הנקודה הנוספת הנ"ל.

              dovidD מחובר
              dovidD מחובר
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              @odeddvir החמצתי, ברור שזו הבעיה.

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              תגובה 1 תגובה אחרונה
              4
              • OdedDvirO OdedDvir

                @מלא אמר ביצירת מסמכים דרך ה API של EZcount - אקסס:

                @OdedDvir יש לך נסיון עם זה?

                לא.
                אבל משהו לא מובן לי בקוד הנ"ל.
                מדוע אתה משתמש בפונקציה ConvertToJson על Body, כאשר Body מוגדר כבר כמחרוזת בפורמט Json? הפונקציה אמורה לקבל אובייקט ולהמיר אותו לJson. להערכתי הפונקציה מחזירה לך מחרוזת Json שמכילה אובייקט אנונימי של מחרוזת Json....
                נסה לשלוח את Body ישירות כפרמטר:

                Sub Test()
                    Body = "{""api_key"": ""b3b....1"",""developer_email"": ""myMail@gmail.com"",""type"": ""405"",""customer_name"": ""My name"",""payment"": ""[{""payment_type"": ""1"",""date"": ""10/10/2020"",""payment_sum"": ""2""}]""}"
                    Debug.Print httpPost("https://www.ezcount.co.il/api/createDoc", Body)
                End Sub
                

                הערה: לא התעמקתי בשינוי של מבנה ה-Json עצמו שהביא @dovid, לצערי אין לי זמן כעת לעבור על הדוקומנטציה של ה-API. פשוט העלתי את הנקודה הנוספת הנ"ל.

                מלאמ מנותק
                מלאמ מנותק
                מלא
                כתב ב נערך לאחרונה על ידי מלא
                #7

                @odeddvir @dovid
                אכן עובד.

                תודה רבה.

                מנחםמ תגובה 1 תגובה אחרונה
                3
                • מלאמ מלא

                  @odeddvir @dovid
                  אכן עובד.

                  תודה רבה.

                  מנחםמ מנותק
                  מנחםמ מנותק
                  מנחם
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @מלא
                  אני מצרף דוגמא מאוד בסיסית שעשיתי
                  כמובן שזה לא עומד בכלל בתנאי הכתיבה הנכונים של קוד
                  אבל אם יהיה למישהו תועלת, והיה זה שכרי

                  Function Update1()
                  
                  Dim objHTTP As Object
                  Dim Json As String: Json = ""
                  Dim Body As New Dictionary
                  Dim Bodyitem As New Dictionary
                  Dim Bodypayment As New Dictionary
                     
                  Body.Add "api_key", "f1c85d16197de6d4dc0da51bf"
                  
                  Body.Add "api_email", "demo@ezcount.co.il"
                  Body.Add "Description", "HOK BBNK 12 -655-5555444 "
                  Body.Add "developer_email", "DEVELOPER@example.com"
                  
                  Body.Add "customer_crn", "308358899"
                  Body.Add "customer_address", "השומר 34 בי ברק"
                  Body.Add "customer_phone", "050123456789"
                  Body.Add "type", "400"
                  Body.Add "customer_name", "הרב שלמה שוורץ"
                  Body.Add "customer_email", "612@GMAIL.COM"
                  'Body.Add "developer_phone", "050123456789"
                  'Body.Add "price_total", "380"
                  Body.Add "forceItemsIntoNonItemsDocument", "1"
                  Body.Add "show_items_including_vat", "0"
                  
                  d1 = JsonConverter.ConvertToJson(Body)
                  Bodyitem.Add "catalog_number", "A1"
                   
                  Bodyitem.Add "details", ",תשלום 08"
                  Bodyitem.Add "price", "380"
                  Bodyitem.Add "amount", "1"
                  Bodyitem.Add "vat_type", "NON"
                  'Bodyitem.Add "discount_price", "3"
                  
                  d2 = JsonConverter.ConvertToJson(Bodyitem)
                   
                  d9 = SHARSER(d1, d2, "item")
                   
                  
                  Bodypayment.Add "payment_type", "9"
                  Bodypayment.Add "payment_sum", "380"
                  Bodypayment.Add "other_payment_type_name", "TAHSLUM "
                  d3 = JsonConverter.ConvertToJson(Bodypayment)
                  
                  d9 = SHARSER(d9, d3, "payment")
                   Debug.Print d9
                  'Body.Add "payment", Array("payment_type", "1", "payment_sum", "250")    '"[0,1,2,3,4,5]"
                  
                  
                  Dim Client As New WebClient
                  Dim Response As WebResponse
                  cc = JsonConverter.ConvertToJson(Body)
                  
                  Set Response = Client.PostJson("https://demo.ezcount.co.il/api/createDoc", d9)
                  
                  Debug.Print Response.Content
                  
                  Dim ResponseJson As Object
                  Set ResponseJson = JsonConverter.ParseJson(Response.Content)
                        
                  'ddd = Replace(Response.Content, "\", "")
                  Debug.Print ResponseJson("pdf_link")
                  End Function
                  
                  
                  
                  Function SHARSER(ByVal strJson As String, ByVal subDataJson As String, nameSubJson As String) As String
                  
                  strJson = Mid(strJson, 1, Len(strJson) - 1)
                  SHARSER = strJson & ",""" & nameSubJson & """" & ":[" & subDataJson & "]}"
                  
                  End Function
                  
                  תגובה 1 תגובה אחרונה
                  5
                  • מלאמ מנותק
                    מלאמ מנותק
                    מלא
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @מנחם אמר ביצירת מסמכים דרך ה API של EZcount - אקסס:

                    אני מצרף דוגמא מאוד בסיסית שעשיתי
                    כמובן שזה לא עומד בכלל בתנאי הכתיבה הנכונים של קוד
                    אבל אם יהיה למישהו תועלת, והיה זה שכרי

                    תודה על ההפניה,
                    לציין, הוא משתמש עם הספריה הזאת.

                    תגובה 1 תגובה אחרונה
                    3
                    תגובה
                    • תגובה כנושא
                    התחברו כדי לפרסם תגובה
                    • מהישן לחדש
                    • מהחדש לישן
                    • הכי הרבה הצבעות


                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום