Array out of bounds ( 0 of 7 ) - MSEXECAUTO MATA140

Prezados, boa noite!!!

Estou iniciando minha jornada em desenvolvimento de APIs, criei a seguinte API para incluir PRÉ NOTAS na rotina MATA140 porém fica dando esse erro “array out of bounds”, segue o fonte:

#Include ‘Protheus.ch’
#Include ‘FWMVCDEF.ch’
#Include ‘RestFul.CH’
#INCLUDE “TopConn.ch”
#Include “TbiConn.ch”

WsRestful XSC2_API Description ‘API para PRE NOTA DE ENTRADA SC2.’

WsMethod POST INCLUIRXSC2 Description ‘Inclusao de DADOS SC2’ Path ‘/’

END WsRestful

WsMethod POST INCLUIRXSC2 WsService XSC2_API

Local cBody     := self:GetContent()
Local oJson     := JsonObject():New()
Local xRetJson  := ''
Local aCab      := {} 
Local aItem     := {}
Local aItens    := {}   
Local lRet      := .T.
Local i         := 0 // já tentei iniciar com 1 e o resultado é o mesmo!
Local aErro     := {}    
Local cErro     := ''

Private lMsErroAuto     := .F.
Private lMsHelpAuto     := .T.
Private lAutoErrNoFile  := .T. 


If !Empty(cBody)

    xRetJson := oJson:FromJson(cBody)
    RpcSetEnv("10",oJson:F1_FILIAL)

    If ValType(xRetJson) == 'U'     

        
        Aadd(aCab, {'F1_FILIAL', oJson['F1_FILIAL'], Nil})
        Aadd(aCab, {'F1_EMISSAO', CtoD(oJson['F1_EMISSAO']), Nil})
        Aadd(aCab, {'F1_DOC', oJson['F1_DOC'], Nil})           
        Aadd(aCab, {'F1_FORNECE', oJson['F1_FORNECE'], Nil})
        Aadd(aCab, {'F1_ESPECIE', oJson['F1_ESPECIE'], Nil})         
        Aadd(aCab, {'F1_SERIE', oJson['F1_SERIE'], Nil}) 
        Aadd(aCab, {'F1_EST', oJson['F1_EST'], Nil})
          

        for i := 1 To Len(oJson['itens'])

            dbSelectArea("SD1")
            SD1->(dbSetOrder(1))

            Aadd(aItem, {'D1_ITEM', StrZero(i, 4), Nil})
            Aadd(aItem, {'D1_COD', oJson['itens'][i]['D1_COD'], Nil})
            Aadd(aItem, {'D1_QUANT', Val(oJson['itens'][i]['D1_QUANT']), Nil})
            Aadd(aItem, {'D1_VUNIT', Val(oJson['itens'][i]['D1_VUNIT']), Nil})
            Aadd(aItem, {'D1_CC', oJson['itens'][i]['D1_CC'], Nil})
            Aadd(aItem, {'D1_EC05DB', oJson['itens'][i]['D1_EC05DB'], Nil})

            Aadd(aItens, aItem)

            aItem := {}
        Next i   
        

       MsExecAuto({|x,y,z| MATA140(x,y,z)}, aCab, aItens, 3) 
       

        If lMsErroAuto

            aErro := GetAutoGRLog()

            For i := 1 To Len(aErro)

                cErro += aErro[i] + CRLF

            Next i
            
            SetRestFault(400, cErro)
            lRet := .F.
           
        Else
            
            self:SetResponse('Titulo incluído com sucesso!')
        
        EndIf

    Else

        SetRestFault(400, 'Falha na leitura do arquivo Json')
        lRet := .F.

    EndIf

Else

    SetRestFault(400, 'Nenhuma informação enviada no body')
    lRet := .F.

EndIf

Return lRet

Segue também o Json que estou tentando passar (já testei varias possibilidades):

{
“F1_FILIAL”: “011023”,
“F1_EMISSAO”: “08/07/2025”,
“F1_DOC”: “123123123”,
“F1_FORNECE”: “97447494”,
“F1_ESPECIE”: “NFE”,
“F1_SERIE”:“001”,
“itens”: [
{
“D1_COD”: “CESTA BASICA MINI”,
“D1_QUANT”: “5”,
“D1_VUNIT”: “100”,
“D1_CC”: “15”,
“D1_EC05DB”: “10”
}

]

}

Como estou iniciando agora, pode ser algo que esteja na minha cara e não vejo!! Se puderem dar qualquer ajuda, ficarei muito grato.

#juntossomosmaisfortes

Forte abraço!!

Bom dia @jcesarpaiva
Vim pedir uma luz
Estamos com o erro muito similar na MATA140 (nosso 0 of 6) , a diferença que nao vem de REST/APi e sim de uma outra tabela

vc conseguiu solucionar ? se sim poderia, por favor, falar
Agradeco desde ja