0

API Ninox to Infomaniak

Hello,

I need to synchronize appointments entered in my Ninox database with my Infomaniak Calendar (kSuite) however I cannot do it.

Currently I already do this synchronization with my Google Calendar via Make (Integromat) however, there is no Infomaniak integration with Make.

Here is the query I entered without a button that I manually trigger

http("POST", "https://api.infomaniak.com/1/kmeet/rooms", {
    Authorization: "Bearer " + Compte.Entreprise.'API Make pour kSuite Calendar',
    'Content-Type': "application/json"
}, 'Data Record pour kSuite Calendar')

And the json I created in a formula field

{
    calendar_id: Entreprise.'ID du calendrier kSuite',
    starting_at: format(start('Date du rendez-vous'), "YYYY-MM-DDTHH:mm:ss.356Z"),
    ending_at: format(endof('Date du rendez-vous'), "YYYY-MM-DDTHH:mm:ss.356Z"),
    timezone: "Europe/Paris",
    hostname: "kmeet.infomaniak.com",
    title: 'Titre Make Google Agenda',
    description: 'Commentaire Make Google Agenda',
    attendees: [{
            address: "myemail@ik.me",
            organizer: true,
            name: "John Doe",
            state: "ACCEPTED"
        }],
    options: {
        subject: 'Titre Make Google Agenda',
        start_audio_muted: false,
        enable_recording: false,
        enable_moderator_video: false,
        start_audio_only: false,
        lobby_enabled: false,
        password_enabled: false,
        e2ee_enabled: false
    }
}

I followed the instructions in the following documentation: https://developer.infomaniak.com/docs/api/post/1/kmeet/rooms

As requested in the documentation, I have successfully created an API with access to 'kmeet' and 'workspace:calendar'.

Also, I tested a request with Postman to confirm that the API is working, and in my Infomaniak customer area, I can see that the API was used at the same time. However, when I try requests from Ninox, my Infomaniak customer area doesn't register the API request. Therefore, it doesn't seem to arrive.

 I'm new to API requests. Can you help me?

3 replies

null
    • Ninox partner
    • RoSoft_Steven.1
    • 2 wk ago
    • Reported - view

    Hi,

    you have probably a corrs problem so you need to wrap your htttp request in a do as server.

    let responce := do as server
            http("POST", "https://api.infomaniak.com/1/kmeet/rooms", {
            Authorization: "Bearer " + Compte.Entreprise.'API Make pour kSuite Calendar',
            'Content-Type': "application/json"
            }, 'Data Record pour kSuite Calendar')
        end;
    if response.error then
        alert("error:" + text(response.error))
    else
        alert(text(response.result)
    end;

    I also put some code in lines 7 to 11 to get some feedback to troubleshoot....

      • Créateur de bien-être
      • Sebastien_Guillet
      • 2 wk ago
      • Reported - view

       Thank you, the event creation works well!

      Could you tell me how to extract the event ID so that when I make a change, this change is applied to the event and not create a new one each time?

      I would like the event ID to be added in the named text field 'ID kSuite Calendar'

      This is what the response sent looks like when it is a success:

      {"result":"success","data":{"hostname":"kmeet.infomaniak.com","name":"jcgmtk*****ym5phvpsnyual","code":"87*****488","user_id":1****45,"event_id":38****854,"options":{"subject":"Harmonisation massage et réflexologie","start_audio_muted":false,"enable_recording":false,"enable_moderator_video":false,"start_audio_only":false,"lobby_enabled":false,"password_enabled":false,"e2ee_enabled":false},"ending_at":"2025-03-16T15:00:00.000000Z","updated_at":"2025-03-14T19:13:25.000000Z","created_at":"2025-03-14T19:13:25.000000Z","id":18**25}}
      • Ninox partner
      • RoSoft_Steven.1
      • 2 wk ago
      • Reported - view

       

      'ID kSuite Calendar' := text(response.data.event_id)