Help - Question

I need help understanding why the data entered in the code is not being sent to the Monday board

Sub GetMondayBoardsWithPOST()
Dim objHTTP As Object
Dim MondayAPIKey As String
Dim url As String
Dim json As String

' Sua API Key do Monday.com
MondayAPIKey = "XXXXXXX"

' ID do quadro específico que você deseja acessar
Dim boardID As String

' Substitua pelo ID correto do quadro
boardID = "XXXXXX"

' Defina a URL da solicitação
url = "https://api.monday.com/v2" & boardID & "/items"

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")

’ Obtém os valores da Planilha1 (A2 e B2)
Dim codigoAtingidos As String
Dim nomeTarefa As String
codigoAtingidos = ThisWorkbook.Sheets(“Planilha1”).Cells(2, 1).Value ’ A2
nomeTarefa = ThisWorkbook.Sheets(“Planilha1”).Cells(2, 2).Value ’ B2

' Dados a serem inseridos, formatados em JSON com base nas células da Planilha1
dataToInsert = "{""item_name"":""" & codigoAtingidos & """,""column_values"":{""Nome"":""" & nomeTarefa & """}}"

' Mensagens de depuração
Debug.Print "URL da solicitação: " & url
Debug.Print "Dados a serem inseridos: " & dataToInsert

' Configurar a solicitação HTTP como POST
With objHTTP
    .Open "POST", url, False
    .SetRequestHeader "Authorization", MondayAPIKey
    .SetRequestHeader "Content-Type", "application/json"
    .Send dataToInsert  ' Inserir os dados no corpo da solicitação
    
    If .status = 200 Then
        ' Exibir a mensagem de sucesso
        MsgBox "Informação inserida no Monday.com com sucesso!", vbInformation, "Inserção Bem-sucedida"
    Else
        ' Exibir mensagem de erro para outros códigos de status
        MsgBox "Erro ao inserir informações no Monday.com. Status: " & .status, vbExclamation, "Erro de Inserção"
    End If
End With

' Limpar o objeto HTTP
Set objHTTP = Nothing

End Sub

Hello there @DiogoSampaiiO and welcome to the community!

I hope you like it here :muscle:

It looks like you are trying to use our API in an incorrect way passing a URL that contains the board ID and “/items” when our API is GraphQL based meaning that you don’t need multiple URLs.

Please check out our documentation here and our Postman examples here for reference on how our API works :grin:

Cheers,
Matias

1 Like