[ mustur @ 08.02.2023. 14:32 ] @
Pokusavam da posaljem JSON fajl u SEF (e-faktura).
Sadržaj JSON fajla je ispravan.
Kada se posalje dobijam poruku o grešci "the system cannot locate the resource specified"

KOD koji koristim je:
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
mojAPIkey = "9f3fad47-b284-43a6-bbe4-3ade227b"

'On Error GoTo Err_Command0_Click

Dim slanje As New MSXML2.XMLHTTP60

Dim addressa As String

addressa = "https://demoefaktura.mfin.gov....icApi/vat-recording/individual"

Dim SendString As String
SendString = XmlStr("C:\Users\Gojko\Desktop\Pojedinacno slanje\Autsajder.JSON")

With slanje
.Open "POST", addressa, "False"
.setRequestHeader "accept", "text/plain"
.setRequestHeader "APIKey", mojAPIkey
.setRequestHeader "Content-Type:", "application/json" '- slanje sa kompa
MsgBox SendString
.send SendString
End With

If slanje.Status = 200 Then ' Slanje fakture uspelo
MsgBox "Faktura uspesno poslata"

Else

MsgBox slanje.responseText
MsgBox slanje.Status & " " & slanje.statusText
End If

'End If

GoTo Kraj
Err_Command0_Click:
MsgBox "Greska"

Kraj:
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------

Da li neko ima iskustva i moze da mi pomogne. Hvala
[ trimrd @ 08.02.2023. 15:01 ] @
Možda glupost, ali probajte maknuti razmak ovdje:

C:\Users\Gojko\Desktop\Pojedinacno slanje\Autsajder.JSON
[ mustur @ 09.02.2023. 12:19 ] @
Pokušao ali ništa.

Ovaj kod samo sa drugom adresom i XML fajlovi uspešno šaljem kao e-fakture.
Ovo su JSON fajlovi.

Da li neko ima ideju?
[ mmarkoni @ 09.02.2023. 17:12 ] @
Zdravo svima

Dali ti stvarno treba XmlStr() funkcija? Šta ona radi u Json stringu?

Možeš li nam pokazati kako ti izgleda Json string.



[Ovu poruku je menjao mmarkoni dana 09.02.2023. u 19:28 GMT+1]

[Ovu poruku je menjao mmarkoni dana 09.02.2023. u 19:29 GMT+1]
[ mmarkoni @ 09.02.2023. 17:53 ] @
Provera dali je firma registrovana na SEF-u (Sistemu e-fakture)


Potrebne reference
WinHttpRequest.5.1,
Microsoft Scripting Runtime

Potrebno je preuzeti vba modul JsonConverter.bas sa sajta: [url=]https://github.com/VBA-tools/VBA-JSON[/url]

Code:


Public Function CheckIfCompanyRegisteredOnEfaktura(ByVal varPib As String) As Boolean
    Const strPutanja = "/api/publicApi/Company/CheckIfCompanyRegisteredOnEfaktura"
    Const strUrl = "https://efaktura.mfin.gov.rs"
    Dim http As Object
    Dim JSONString As String

    JSONString = "{""registrationNumber"":"""",""jbkjs"":"""",""vatNumber"":""" & Eval(varPib) & """}"   

    Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
    With http
        .SetTimeouts 30000, 30000, 30000, 30000
        .Open "POST", strUrl & strPutanja, False
        .setRequestHeader "Content-Type", "application/json"
        
        .Send JSONString

        Select Case .Status
            Case 200
                Dim jsonObject As Object
                Set jsonObject = JsonConverter.ParseJson(http.responseText)
                CheckIfCompanyRegisteredOnEfaktura = jsonObject("EFakturaRegisteredCompany")
            Case 429 '  premašen broj poziva

            Case Else
                Debug.Print .Status
                MsgBox "Errornumber: " & err.Number & vbNewLine & "Errordescription: " & Error(err.Number)
                CheckIfCompanyRegisteredOnEfaktura = False
        End Select

    End With

    Set http = Nothing
    Set jsonObject = Nothing
    On Error GoTo 0

    Exit Function
                
End Function



Pozdrav

[Ovu poruku je menjao mmarkoni dana 09.02.2023. u 19:03 GMT+1]

[Ovu poruku je menjao mmarkoni dana 09.02.2023. u 19:33 GMT+1]
[ mustur @ 14.03.2023. 11:57 ] @
Provera registrovanih firmi u SEF-u odlicno radi. Kada sam probao sa drugog racunara izbacuje mi gresku "an error occurred in the secure channel support".
Da li neko ima slicna iskustva?
Hvala
[ mmarkoni @ 15.03.2023. 09:09 ] @
Sistem mora imati omogućen TLS 1.2 koje koristi api server SEF-a.

ZAvisi na kom win sistemu radiš, ya W10 je po difoltu omogućeno, za W7: https://support.microsoft.com/...d2-31d7-761e-0178-11268bb10392

Proguglaj malo, nije baš trivijalno, moraš editovati registri preko regedita.

Pozdrav