Validador de e-faturas MyInvois (LHDN) Keyless Malaysia: XSD oficial UBL 2.1, listas de códigos, matemática de totais, verificação de assinatura XAdES. Envie XML ou JSON, obtenha um relatório em JSON codificado por regras. Sem conta LHDN
{
"status": "ok"
}
curl --location --request GET 'https://zylalabs.com/api/13423/malaysia+myinvois+e-invoice+validator+api/29078/health+check' --header 'Authorization: Bearer YOUR_API_KEY'
{
"valid": true,
"wellFormed": true,
"inputFormat": "xml",
"documentType": "01",
"version": "1.1",
"errorCount": 0,
"warningCount": 4,
"findings": [
{
"level": "info",
"ruleId": "MY-STRUCT-XSD",
"text": "Document is valid against the official UBL 2.1 Invoice XSD.",
"location": null,
"occurrences": 1
},
{
"level": "warning",
"ruleId": "MY-MATH-TAX-INCLUSIVE",
"text": "TaxInclusiveAmount (1436.50) != TaxExclusiveAmount + total TaxAmount (1524.13).",
"location": "cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount",
"occurrences": 1
},
{
"level": "info",
"ruleId": "MY-SIG-CERT",
"text": "Embedded signing certificate: subject '1.2.840.113549.1.9.1=#1616616e61732e6140666776686f6c64696e67732e636f6d,2.5.4.5=#1309443132333435363738,CN=Dummy,OU=Test Unit eInvoice,2.5.4.97=#130c433239373032363335303630,O=Dummy,C=MY', issuer 'CN=Trial LHDNM Sub CA V1,OU=Terms of use at http://www.posdigicert.com.my,O=LHDNM,C=MY'.",
"location": "ds:X509Certificate",
"occurrences": 1
},
{
"level": "info",
"ruleId": "MY-SIG-EKU",
"text": "Certificate carries the Document Signing EKU (1.3.6.1.4.1.311.10.3.12).",
"location": "ds:X509Certificate",
"occurrences": 1
},
{
"level": "warning",
"ruleId": "MY-SIG-CERT-VALIDITY",
"text": "Signing certificate is outside its validity window (Thu Jun 06 02:52:36 UTC 2024 .. Fri Sep 06 02:52:36 UTC 2024): CertificateExpiredException.",
"location": "ds:X509Certificate",
"occurrences": 1
},
{
"level": "info",
"ruleId": "MY-SIG-CERTDIGEST",
"text": "XAdES SigningCertificate/CertDigest matches SHA-256 of the embedded certificate.",
"location": "xades:SigningCertificate",
"occurrences": 1
},
{
"level": "info",
"ruleId": "MY-SIG-ISSUERSERIAL",
"text": "XAdES IssuerSerial serial number matches the embedded certificate.",
"location": "xades:IssuerSerial",
"occurrences": 1
},
{
"level": "info",
"ruleId": "MY-SIG-DOC-DIGEST",
"text": "Document digest VERIFIES: recomputed SHA-256 over the minified document (UBLExtensions and cac:Signature removed, inclusive Canonical XML) matches the signed DigestValue.",
"location": "ds:Reference[@URI='']",
"occurrences": 1
},
{
"level": "warning",
"ruleId": "MY-SIG-PROPS-DIGEST",
"text": "SignedProperties digest MISMATCH: signed DigestValue Tc9oNX8EuNQohWVDZeaPOHmeBU5tuwVdwIRyfltnTPw= does not match the recomputed SHA-256 (exclusive b0VXjdpRrf5OQt96gzaFM1e8I9/+1qC5uFfI8eK8zjY= / inclusive vjjXqMNokPtL5qvfFj4irmcxCjxyVuirMVVe3KCKXBw=).",
"location": "ds:Reference[@URI='#id-xades-signed-props']",
"occurrences": 1
},
{
"level": "warning",
"ruleId": "MY-SIG-VALUE",
"text": "SignatureValue does NOT verify: RSA-SHA256 over the canonicalized SignedInfo does not match the embedded certificate's public key.",
"location": "ds:SignatureValue",
"occurrences": 1
},
{
"level": "info",
"ruleId": "MY-SIG-TRUST",
"text": "Trust chain to a Malaysian (LHDN/Pos Digicert) CA is NOT verified here; this requires the LHDNM CA/root list and, for full assurance, an online LHDN check. Structure and the embedded-certificate crypto are checked offline.",
"location": null,
"occurrences": 1
}
]
}
curl --location --request POST 'https://zylalabs.com/api/13423/malaysia+myinvois+e-invoice+validator+api/29079/validate+e-invoice' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '
urn:oasis:names:specification:ubl:dsig:enveloped:xades
urn:oasis:names:specification:ubl:signature:1
urn:oasis:names:specification:ubl:signature:Invoice
not(//ancestor-or-self::ext:UBLExtensions)
not(//ancestor-or-self::cac:Signature)
fRaWJINS9sB9aSl/MhCjMsdVMFpLwnxstpPhJkJwkU4=
Tc9oNX8EuNQohWVDZeaPOHmeBU5tuwVdwIRyfltnTPw=
kZhLB843E/sJEd66jI1lcfRheCZXaaHs9EjYOktMy9f/QmK7f4rFKcK24lqdcr+upqNbgRBJy3ahPnEv/AMb+ncklAkkxj2bOeVtUhi3wgh7pF0UUFoGFGb49sHRf9wEJ/IMMhiCs+weOSzVUCPiUGszFxwfyDps+ft5ZEKU3m1pIGcbu7V3qv7iNBkYtdfkFXbDxLBcOwGrJpXJ9/QYPmQrsEG0ROJV4Jhjb8R+X7T6K9UZlV/ciUXURO6AKzU4uHThPmcveHZWAxZqpmQEk2zelqsVGRAMformANhoXnWO4JxzSriQMnk5Mglu6hiapwEQMHySz7L0ib/Yp23RTw==
MIIFlDCCA3ygAwIBAgIQeomZorO+0AwmW2BRdWJMxTANBgkqhkiG9w0BAQsFADB1MQswCQYDVQQGEwJNWTEOMAwGA1UEChMFTEhETk0xNjA0BgNVBAsTLVRlcm1zIG9mIHVzZSBhdCBodHRwOi8vd3d3LnBvc2RpZ2ljZXJ0LmNvbS5teTEeMBwGA1UEAxMVVHJpYWwgTEhETk0gU3ViIENBIFYxMB4XDTI0MDYwNjAyNTIzNloXDTI0MDkwNjAyNTIzNlowgZwxCzAJBgNVBAYTAk1ZMQ4wDAYDVQQKEwVEdW1teTEVMBMGA1UEYRMMQzI5NzAyNjM1MDYwMRswGQYDVQQLExJUZXN0IFVuaXQgZUludm9pY2UxDjAMBgNVBAMTBUR1bW15MRIwEAYDVQQFEwlEMTIzNDU2NzgxJTAjBgkqhkiG9w0BCQEWFmFuYXMuYUBmZ3Zob2xkaW5ncy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChvfOzAofnU60xFO7NcmF2WRi+dgor1D7ccISgRVfZC30Fdxnt1S6ZNf78Lbrz8TbWMicS8plh/pHy96OJvEBplsAgcZTd6WvaMUB2oInC86D3YShlthR6EzhwXgBmg/g9xprwlRqXMT2p4+K8zmyJZ9pIb8Y+tQNjm/uYNudtwGVm8A4hEhlRHbgfUXRzT19QZml6V2Ea0wQI8VyWWa8phCIkBD2w4F8jG4eP5/0XSQkTfBHHf+GV/YDJx5KiiYfmB1nGfwoPHix6Gey+wRjIq87on8Dm5+8ei8/bOhcuuSlpxgwphAP3rZrNbRN9LNVLSQ5md41asoBHfaDIVPVpAgMBAAGjgfcwgfQwHwYDVR0lBBgwFgYIKwYBBQUHAwQGCisGAQQBgjcKAwwwEQYDVR0OBAoECEDwms66hrpiMFMGA1UdIARMMEowSAYJKwYBBAGDikUBMDswOQYIKwYBBQUHAgEWLWh0dHBzOi8vd3d3LnBvc2RpZ2ljZXJ0LmNvbS5teS9yZXBvc2l0b3J5L2NwczATBgNVHSMEDDAKgAhNf9lrtsUI0DAOBgNVHQ8BAf8EBAMCBkAwRAYDVR0fBD0wOzA5oDegNYYzaHR0cDovL3RyaWFsY3JsLnBvc2RpZ2ljZXJ0LmNvbS5teS9UcmlhbExIRE5NVjEuY3JsMA0GCSqGSIb3DQEBCwUAA4ICAQBwptnIb1OA8NNVotgVIjOnpQtowew87Y0EBWAnVhOsMDlWXD/s+BL7vIEbX/BYa0TjakQ7qo4riSHyUkQ+X+pNsPEqolC4uFOp0pDsIdjsNB+WG15itnghkI99c6YZmbXcSFw9E160c7vG25gIL6zBPculHx5+laE59YkmDLdxx27e0TltUbFmuq3diYBOOf7NswFcDXCo+kXOwFfgmpbzYS0qfSoh3eZZtVHg0r6uga1UsMGb90+IRsk4st99EOVENvo0290lWhPBVK2G34+2TzbbYnVkoxnq6uDMw3cRpXX/oSfya+tyF51kT3iXvpmQ9OMF3wMlfKwCS7BZB2+iRja/1WHkAP7QW7/+0zRBcGQzY7AYsdZUllwYapsLEtbZBrTiH12X4XnZjny9rLfQLzJsFGT7Q+e02GiCsBrK7ZHNTindLRnJYAo4U2at5+SjqBiXSmz0DG+juOyFkwiWyD0xeheg4tMMO2pZ7clQzKflYnvFTEFnt+d+tvVwNjTboxfVxEv2qWF6qcMJeMvXwKTXuwVI2iUqmJSzJbUY+w3OeG7fvrhUfMJPM9XZBOp7CEI1QHfHrtyjlKNhYzG3IgHcfAZUURO16gFmWgzAZLkJSmCIxaIty/EmvG5N3ZePolBOa7lNEH/eSBMGAQteH+Twtiu0Y2xSwmmsxnfJyw==
2024-07-23T16:31:06Z
KKBSTyiPKGkGl1AFqcPziKCEIDYGtnYUTQN4ukO7G40=
CN=Trial LHDNM Sub CA V1, OU=Terms of use at http://www.posdigicert.com.my, O=LHDNM, C=MY
162880276254639189035871514749820882117
XML-INV12345
2024-07-23
00:40:00Z
01
MYR
MYR
2024-07-01
2024-07-31
Monthly
151891-1981
L1
CustomsImportForm
FTA
FreeTradeAgreement
Sample Description
L1
K2
L1
urn:oasis:names:specification:ubl:signature:Invoice
urn:oasis:names:specification:ubl:dsig:enveloped:xades
CPT-CCN-W-211111-KL-000002
46510
Supplier's TIN
Supplier's BRN
NA
NA
Kuala Lumpur
50480
14
Lot 66
Bangunan Merdeka
Persiaran Jaya
MYS
Supplier's Name
+60123456789
[email protected]
Buyer's TIN
Buyer's BRN
NA
NA
Kuala Lumpur
50480
14
Lot 66
Bangunan Merdeka
Persiaran Jaya
MYS
Buyer's Name
+60123456780
[email protected]
Recipient's TIN
Recipient's BRN
Kuala Lumpur
50480
14
Lot 66
Bangunan Merdeka
Persiaran Jaya
MYS
Recipient's Name
1234
true
Service charge
100
01
1234567890
Payment method is cash
E12345678912
1.00
2024-07-23
00:30:00Z
false
Sample Description
100
true
Service charge
100
87.63
87.63
87.63
01
OTH
1436.50
1436.50
1436.50
1436.50
1436.50
0.30
1436.50
1234
1
1436.50
false
Sample Description
0.15
100
true
Sample Description
0.10
100
0
1460.50
0
6.00
E
Exempt New Means of Transport
OTH
Laptop Peripherals
MYS
9800.00.0010
003
17
100
'
Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a Validador de E-Fatura MyInvois da Malásia API basta incluir seu token Bearer no cabeçalho Authorization.
| Cabeçalho | Descrição |
|---|---|
Authorization
|
Obrigatório
Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito.
|
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.
(Economize 2 meses com cobrança anual 🎉)
Validador de e-faturas Keyless Malaysia MyInvois (LHDN): XSD oficial UBL 2.1, listas de códigos, cálculos de totais, verificação da assinatura XAdES. Envie XML ou JSON via POST, obtenha um relatório JSON codificado por regra. Sem conta LHDN
O endpoint de verificação de integridade GET retorna um objeto JSON simples indicando o status do serviço enquanto o endpoint POST Validar e-fatura retorna um relatório de validação JSON detalhado que inclui campos como "válido" "bemFormado" "tipoDeDocumento" "contagemDeErros" e "constatações" com mensagens codificadas por regras específicas
Os campos principais na resposta de validação de e-invoice POST incluem "válido" (booleano), "bemFormado" (booleano), "tipoDeDocumento" (string), "contagemDeErros" (inteiro), "contagemDeAvisos" (inteiro) e "resultados" (array de resultados de validação detalhados)
Os dados retornados estão em formato JSON. A estrutura inclui um objeto de nível superior com campos para status de validação, contagens de erros e avisos, e um array de descobertas, cada uma contendo detalhes como "nível", "ruleId", "texto" e "localização"
A verificação de saúde GET fornece status do serviço enquanto a validação de fatura eletrônica POST oferece resultados de validação abrangentes incluindo conformidade com UBL 2.1 XSD campos obrigatórios listas de códigos LHDN e verificações de assinatura XAdES
A API suporta tanto os formatos XML (application/xml) quanto JSON (application/json) para o endpoint POST Validar e-fatura O formato é detectado automaticamente com base no corpo da solicitação
Os dados da resposta estão organizados em um objeto JSON com pares de chave-valor. O campo "resultados" contém um array de objetos, cada um detalhando questões específicas de validação, categorizadas por gravidade (info, aviso, erro) e IDs de regras associadas
Casos de uso típicos incluem validar faturas eletrônicas para conformidade com as regulamentações malasianas garantindo a formatação e estrutura adequadas e verificando a precisão matemática em totais e cálculos de impostos
Os usuários podem analisar os campos "válido" e "bemFormado" para determinar a conformidade da fatura O array "constatações" fornece insights acionáveis para corrigir problemas enquanto "contagemDeErros" e "contagemDeAdvertências" ajudam a priorizar ajustes necessários
Não O validador é sem chave sem conta LHDN sem certificado digital sem token Você POSTa a fatura recebe um relatório JSON Nada é enviado para o LHDN
UBL 2.1 XML (Content-Type: application/xml) e MyInvois JSON (application/json) O formato é detectado automaticamente e as mesmas regras do LHDN são aplicadas a ambos