vers
This commit is contained in:
241
VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/RELAYHUB/cRelayHub.vb
Normal file
241
VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/RELAYHUB/cRelayHub.vb
Normal file
@@ -0,0 +1,241 @@
|
||||
Imports Newtonsoft.Json
|
||||
|
||||
Public Class cRelayHub
|
||||
|
||||
Public Class cRelayHubDocument
|
||||
Public Property type As String
|
||||
Public Property base64String As String
|
||||
Public Property filename As String
|
||||
Public Property fileType As String
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubTransaction
|
||||
Public Property ioPartner As String
|
||||
Public Property ioDivision3 As String
|
||||
Public Property ioReference As String
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubObjectIdentification
|
||||
Public Property objectName As String
|
||||
Public Property objectAlias As String
|
||||
Public Property declarationType As String
|
||||
Public Property referenceNumberOverlay As String
|
||||
Public Property username As String
|
||||
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubAgentContact
|
||||
Public Property contactPersonName As String
|
||||
Public Property contactPersonPhoneNumber As String
|
||||
Public Property contactPersonPosition As String
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubCost
|
||||
Public Property costAmount As String
|
||||
Public Property costCurrency As String
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubHeaderData
|
||||
Public Property agentContact As cRelayHubAgentContact
|
||||
Public Property declarantIsConsignee As Boolean
|
||||
Public Property representationRelationshipCode As String
|
||||
Public Property inputTaxDeduction As String
|
||||
Public Property procedureCodeRequested As String
|
||||
Public Property goodsStatus As String
|
||||
Public Property costs As List(Of cRelayHubCost)
|
||||
Public Property transportMeansArrivalIdentity As String
|
||||
Public Property transportMeansNationalityCode As String
|
||||
Public Property previousAdministrativeReferenceType As String
|
||||
Public Property previousAdministrativeReferenceNumber As String
|
||||
Public Property destinationFederalState As String
|
||||
Public Property destinationCountry As String
|
||||
Public Property departureCountry As String
|
||||
Public Property addressedCustomsOffice As String
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubAddress
|
||||
Public Property addressType As String
|
||||
Public Property participantEORI As String
|
||||
Public Property participantSubsidiaryNumber As String
|
||||
Public Property companyName As String
|
||||
Public Property streetAndNumber As String
|
||||
Public Property countryCode As String
|
||||
Public Property postalCode As String
|
||||
Public Property city As String
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubDeclaration
|
||||
Public Property objectIdentification As cRelayHubObjectIdentification
|
||||
Public Property headerData As cRelayHubHeaderData
|
||||
Public Property addresses As List(Of cRelayHubAddress)
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubAdditionalData
|
||||
Public Property transaction As cRelayHubTransaction
|
||||
Public Property declaration As List(Of cRelayHubDeclaration)
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubJobOrderRequest
|
||||
Public Property referenceNo As String
|
||||
Public Property dispatchCountry As String
|
||||
Public Property destinationCountry As String
|
||||
Public Property regimeType As String
|
||||
Public Property customer As String
|
||||
Public Property documents As List(Of cRelayHubDocument)
|
||||
Public Property additionalData As cRelayHubAdditionalData
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubJobOrderResponse
|
||||
Public Property id As String
|
||||
Public Property status As String
|
||||
Public Property createdAt As String
|
||||
Public Property referenceNo As String
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubApiResult
|
||||
Public Property Success As Boolean
|
||||
Public Property StatusCode As Integer
|
||||
Public Property Message As String ' Zusammenfassung
|
||||
Public Property Details As String ' Volltext/Fehlermeldung
|
||||
Public Property Data As cRelayHubJobOrderResponse ' Nur bei 201
|
||||
End Class
|
||||
|
||||
Public Class cRelayHub_sendToRelayHub_JobOrderRequest
|
||||
|
||||
'Shared API_KEY = "2a6fe6bf-6547-4d56-b14a-8a18f94f9e94"
|
||||
Shared API_URL = "dev-relayhub.singlewindow.io/api"
|
||||
|
||||
Public Shared Function query_declarations(request As cRelayHubJobOrderRequest) As cRelayHubApiResult
|
||||
Dim result As New cRelayHubApiResult()
|
||||
Try
|
||||
' This example assumes the Chilkat API to have been previously unlocked.
|
||||
' See Global Unlock Sample for sample code.
|
||||
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
|
||||
|
||||
Dim success As Boolean
|
||||
|
||||
|
||||
' HTTP-Client initialisieren
|
||||
Dim http As New Chilkat.Http
|
||||
' JSON vorbereiten
|
||||
|
||||
' Request-Objekt in JSON-String umwandeln
|
||||
Dim jsonPayload As String = JsonConvert.SerializeObject(request)
|
||||
MsgBox(jsonPayload)
|
||||
' Anfrage senden
|
||||
Dim response As Chilkat.HttpResponse = http.PostJson2(API_URL & "/job-orders/init", "application/json", jsonPayload)
|
||||
|
||||
If http.LastMethodSuccess <> True Then
|
||||
result.Success = False
|
||||
result.StatusCode = 0
|
||||
result.Message = "Verbindungsfehler"
|
||||
result.Details = http.LastErrorText
|
||||
Return result
|
||||
End If
|
||||
|
||||
result.StatusCode = response.StatusCode
|
||||
|
||||
Select Case response.StatusCode
|
||||
Case 201
|
||||
Try
|
||||
Dim jobResponse As cRelayHubJobOrderResponse = JsonConvert.DeserializeObject(Of cRelayHubJobOrderResponse)(response.BodyStr)
|
||||
result.Success = True
|
||||
result.Message = "Job Order erfolgreich erstellt"
|
||||
result.Data = jobResponse
|
||||
result.Details = $"ID: {jobResponse.id}, Referenz: {jobResponse.referenceNo}"
|
||||
Catch ex As Exception
|
||||
result.Success = False
|
||||
result.Message = "Antwort konnte nicht gelesen werden"
|
||||
result.Details = ex.Message
|
||||
End Try
|
||||
|
||||
Case 400 To 499
|
||||
result.Success = False
|
||||
result.Message = "Client-Fehler"
|
||||
result.Details = response.BodyStr
|
||||
|
||||
Case 500 To 599
|
||||
result.Success = False
|
||||
result.Message = "Server-Fehler"
|
||||
result.Details = response.BodyStr
|
||||
|
||||
Case Else
|
||||
result.Success = False
|
||||
result.Message = $"Unbekannter Fehler (Status {response.StatusCode})"
|
||||
result.Details = response.BodyStr
|
||||
End Select
|
||||
|
||||
Console.WriteLine(result.Message)
|
||||
Console.WriteLine(result.Details)
|
||||
|
||||
Return result
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
|
||||
End Try
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
Function CreateSampleJobOrderRequest() As cRelayHubJobOrderRequest
|
||||
Dim request As New cRelayHubJobOrderRequest With {
|
||||
.referenceNo = "1001K",
|
||||
.dispatchCountry = "TR",
|
||||
.destinationCountry = "EN",
|
||||
.regimeType = "IM",
|
||||
.customer = "AVISO",
|
||||
.documents = New List(Of cRelayHubDocument) From {
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test.txt", .fileType = "invoice"},
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test2.txt", .fileType = "atr"},
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test3.txt", .fileType = "cmr"}
|
||||
},
|
||||
.additionalData = New cRelayHubAdditionalData With {
|
||||
.transaction = New cRelayHubTransaction With {
|
||||
.ioPartner = "VERA",
|
||||
.ioDivision3 = "SUB",
|
||||
.ioReference = "4803/25001763_1301250935SS/samimx"
|
||||
},
|
||||
.declaration = New List(Of cRelayHubDeclaration) From {
|
||||
New cRelayHubDeclaration With {
|
||||
.objectIdentification = New cRelayHubObjectIdentification With {
|
||||
.objectName = "4803/25001763",
|
||||
.objectAlias = "1349846",
|
||||
.declarationType = "EZA-D"
|
||||
},
|
||||
.headerData = New cRelayHubHeaderData With {
|
||||
.agentContact = New cRelayHubAgentContact With {
|
||||
.contactPersonName = "AMANN",
|
||||
.contactPersonPhoneNumber = "+49 123 456 789",
|
||||
.contactPersonPosition = "Manager"
|
||||
},
|
||||
.declarantIsConsignee = True,
|
||||
.representationRelationshipCode = "1",
|
||||
.inputTaxDeduction = "true",
|
||||
.procedureCodeRequested = "42",
|
||||
.goodsStatus = "EU",
|
||||
.costs = New List(Of cRelayHubCost) From {
|
||||
New cRelayHubCost With {.costAmount = "25909.92", .costCurrency = "EUR"}
|
||||
},
|
||||
.transportMeansArrivalIdentity = "PB1552EC",
|
||||
.transportMeansNationalityCode = "BG",
|
||||
.previousAdministrativeReferenceType = "T1",
|
||||
.previousAdministrativeReferenceNumber = "25TR160100001472M0",
|
||||
.destinationFederalState = "07",
|
||||
.destinationCountry = "DE",
|
||||
.departureCountry = "TR"
|
||||
},
|
||||
.addresses = New List(Of cRelayHubAddress) From {
|
||||
New cRelayHubAddress With {.addressType = "CZ", .participantEORI = "EORI12345", .participantSubsidiaryNumber = "001", .companyName = "SISECAM DIS TIC.A.S.", .streetAndNumber = "D-100 KARAYOLU CD.YAYLA MH.NO.70/C", .countryCode = "TR", .postalCode = "34949", .city = "TUZLA ISTANBUL"},
|
||||
New cRelayHubAddress With {.addressType = "CN", .participantEORI = "EORI67890", .participantSubsidiaryNumber = "002", .companyName = "POLYNT COMPOSITES GERMANY GMBH", .streetAndNumber = "KIESELSTRASSE 2", .countryCode = "DE", .postalCode = "56357", .city = "MIEHLEN"}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Return request
|
||||
End Function
|
||||
|
||||
End Class
|
||||
End Class
|
||||
@@ -369,6 +369,7 @@
|
||||
<Compile Include="frmDatumsabfrage.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Schnittstellen\ATEZ\RELAYHUB\cRelayHub.vb" />
|
||||
<Compile Include="Schnittstellen\cHMRC.vb" />
|
||||
<Compile Include="Schnittstellen\HMRC\cHMRCToken.vb" />
|
||||
<Compile Include="Classes\cKundenAufschubkonten.vb" />
|
||||
|
||||
Reference in New Issue
Block a user