• Aktuell
    • Tags
    • Beliebt
    • Benutzer
    • Gruppen
    • Suche
    • Registrieren
    • Anmelden

    Gelöst API Anfragen erstellen

    Fragen
    3
    12
    261
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • cabcookieC
      cabcookie
      zuletzt editiert von

      Hallo, ich studiere gerade die API und bin recht begeistert über die Möglichkeiten, die dies bietet. Ich suche allerdings eine Pfad, um Anfragen an Ehrenamtliche zu schicken. Das fehlt irgendwie oder habe ich etwas übersehen?

      Aus meiner Sicht fehlt folgender Pfad:
      PUT
      /events/{eventId}/services/{serviceId}/person/{personId}
      Send request to person for a service at an event.

      Die App kann das ja jetzt auch, also muss es auch einen API Aufruf dafür geben 🙂
      Wir versuchen mit einer eigenen Web App das Scheduling deutlich zu vereinfachen. Das sind im Moment sowohl auf der ChurchTools Seite oder in der App zu viele Schritte.

      Die folgenden Pfade habe ich gefunden:

      • GET /persons/{personId}/servicerequests Get all service requests for a person
      • DELETE /persons/{personId}/servicerequests/{requestId} Decline a service request for a person
      • GET /persons/{personId}/servicerequests/{requestId} Get a specific service request for a person
      • PUT /persons/{personId}/servicerequests/{requestId} Agree to a service request for a person
      • POST /persons/{personId}/servicerequests/{requestId}/undo Undo last service request action
      jziegelerJ 1 Antwort Letzte Antwort Antworten Zitieren 1
      • jziegelerJ
        jziegeler ChurchToolsMitarbeiter @cabcookie
        zuletzt editiert von

        @cabcookie jep, die ist noch nicht dokumentiert 😬 ich bin mir grade nicht 100%ig sicher, aber diese müsste es eigentlich sein:

        /events/{eventId}/eventservices

        payload:

        { 
          eventId: number;
          eventServiceId: number;
          name: string;
          agreed: boolean;
          comment?: string
        }
        
        cabcookieC 1 Antwort Letzte Antwort Antworten Zitieren 0
        • cabcookieC
          cabcookie @jziegeler
          zuletzt editiert von

          @jziegeler Danke Dir.
          Es gibt ein paar Folgefragen 😅

          Wenn ich auf eine offene Position klicke, werden mir in ChurchTools alle Namen angezeigt, die für die Position passen; das wird bei uns über die Gruppenzuordnung errechnet und über die Tags. Ich könnte das selber errechnen, aber das wären mehrere API Aufrufe. Wahrscheinlich habt ihr einen API Aufruf, der das direkt erledigt. Wie muss der lauten?
          Beispiel: für Sonntag, 23. Juli 12 Uhr (Event id: 1800) suche ich einen Sound Engineer (serviceId: 26). Wie müssen Pfad, Request (GET, PUT, POST, …) und Payload aussehen (Query Params oder Request Body)?

          Im nächsten Schritt habe ich „Carsten Koch“ auserkoren als Sound Engineer (der Glückliche hat die personId 622). Wie muss nun der Request aussehen?

          jziegelerJ 1 Antwort Letzte Antwort Antworten Zitieren -1
          • jziegelerJ
            jziegeler ChurchToolsMitarbeiter @cabcookie
            zuletzt editiert von

            @cabcookie GET /events/{eventId}/services/{serviceId}/possiblepersons

            cabcookieC 1 Antwort Letzte Antwort Antworten Zitieren 0
            • cabcookieC
              cabcookie @jziegeler
              zuletzt editiert von

              @jziegeler fantastisch. Vielen lieben Dank dir.
              Jetzt nur noch die letzte Frage 😬

              Mit welchem Request schlage ich Person 622 für den Event 1800 und den Service mit der ID 26 ein?

              jziegelerJ 1 Antwort Letzte Antwort Antworten Zitieren 0
              • jziegelerJ
                jziegeler ChurchToolsMitarbeiter @cabcookie
                zuletzt editiert von

                @cabcookie das ist für mich grade nicht direkt ersichtlich, muss ich mir morgen mal anschauen

                cabcookieC 1 Antwort Letzte Antwort Antworten Zitieren 0
                • cabcookieC
                  cabcookie @jziegeler
                  zuletzt editiert von

                  @jziegeler
                  Ich hab’s gefunden (ein Dank geht an Charles Proxy für iOS 😅)
                  PUT /api/persons/622/servicerequests/70526
                  Wobei 70526 the ID für eventServices ist.
                  Damit kann ich dann morgen weiter machen.

                  JJBJ 3 Antworten Letzte Antwort Antworten Zitieren 1
                  • JJBJ
                    JJB @cabcookie
                    zuletzt editiert von

                    @cabcookie Weißt du auch, wie ich statt einen zu einem Dienst vorzuschalgen, ihn direkt besetze?

                    Die Frage habe ich vor neun Tagen dem Support geschickt und noch keine passende Antwort erhalten. Ich wusste damals auch noch nicht, wie man jemanden vorschlägt. Das hast du uns ja nun verraten. Als Workaround könnte ich wahrscheinlich jemanden vorschlagen und dann in einem weiteren API-Aufruf bestätigten.

                    1 Antwort Letzte Antwort Antworten Zitieren 0
                    • JJBJ
                      JJB @cabcookie
                      zuletzt editiert von

                      @cabcookie Selbst das Anfragen funktioniert bei mir nicht. Ich bekomme das hier zurück:

                      {"message":"There are validation errors","messageKey":"validation.error","translatedMessage":"Die eingegebenen Daten waren nicht korrekt.","args":[],"errors":[{"fieldId":"agreed","message":"Eingabe muss TRUE oder FALSE sein.","messageKey":"validation.boolean","args":{"input":null,"true":["true",true,1,"1"],"false":["false",false,0,"0"]}}]}
                      
                      1 Antwort Letzte Antwort Antworten Zitieren 0
                      • JJBJ
                        JJB @cabcookie
                        zuletzt editiert von JJB

                        @cabcookie In der Doku steht "Agree to a service request for a person" bei "PUT /persons/{personId}/servicerequests/{requestId}". Das heißt doch eher, dass man hiermit einer bereits gestellten Anfrage zustimmt, als dass man eine neue Anfrage eröffnet.

                        @Andy Kannst du die Frage hier wieder öffnen? Ich glaube nicht, dass sie schon gelöst ist.

                        jziegelerJ 1 Antwort Letzte Antwort Antworten Zitieren 0
                        • jziegelerJ
                          jziegeler ChurchToolsMitarbeiter @JJB
                          zuletzt editiert von

                          @jjb du kannst mit der Funktion sowohl vorschlagen als auch direkt besetzen.

                          /api/persons/personId/servicrequests/eventServiceId, { agreed: true } besetzt den Dienst direkt. Das sagt auch deine Fehlermeldung, dass dort im payload agreed nicht gesetzt wird. Schickst du false mit ist es eine Anfrage

                          JJBJ 1 Antwort Letzte Antwort Antworten Zitieren 0
                          • JJBJ
                            JJB @jziegeler
                            zuletzt editiert von

                            @jziegeler Vielen Dank. Das hat funktioniert!

                            1 Antwort Letzte Antwort Antworten Zitieren 0
                            • Erster Beitrag
                              Letzter Beitrag