Topic Resolution: Resolved

Schlagwörter: 

Ansicht von 3 Antwort-Themen
  • Autor
    Beiträge
    • #12768
      uwe-kreutz
      Teilnehmer

        Hallo Zusammen,

        gibt es eine Möglichkeit über die REST-API im Modus “Provider” auch DynamicFields mit TicketGet abzurufen und sogar mit TicketUpdate zu befüllen?

        Danke für eine Antwort.

        Viele Grüße an das OTOBO Team

      • #12769
        Renée Bäcker
        Teilnehmer

          Ja. Bei TicketGet muss als Parameter DynamicFields mit dem Wert 1 übergeben werden, beim TicketUpdate muss im JSON das ungefähr so aussehen:

          {
          ...
          "Ticket": { ... },
          "DynamicField" : [
          {
          "Name" : "NameDesDynamischenFeldes",
          "Value" : "Neuer Wert des Feldes"
          }
          ]
          }

        • #12805
          uwe-kreutz
          Teilnehmer

            Ganz herlichen Dank für die schnelle Antwort.

            im OTOBO-System mit der Version 10.0.15 funktioniert das alles super.

            Aber die Update Funktion der REST-API im 10.1.1 weigert sich.
            Version 10.0.15 gibt mir bei Update

            >Communication sequence started (09.03.2022 16:43:45 (Europe/Berlin), debug)
            $VAR1 = {
            ‘CONTENT_LENGTH’ => ‘123’,
            ‘CONTENT_TYPE’ => ‘application/json’,
            ‘GATEWAY_INTERFACE’ => ‘CGI/1.1’,
            ‘HOME’ => ‘/opt/otobo’,
            ‘HOSTNAME’ => ’98d3f999a2c1′,
            ‘HTTPS’ => ‘OFF’,
            ‘HTTP_ACCEPT’ => ‘*/*’,
            ‘HTTP_CONNECTION’ => ‘Keep-Alive’,
            ‘HTTP_EXPECT’ => ‘100-continue’,
            ‘HTTP_HOST’ => ‘127.0.0.1’,
            ‘HTTP_USER_AGENT’ => ‘Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)’,
            ‘LANG’ => ‘C.UTF-8’,
            ‘LC_ALL’ => ‘C.UTF-8’,
            ‘OTOBO_GROUP’ => ‘otobo’,
            ‘OTOBO_HOME’ => ‘/opt/otobo’,
            ‘OTOBO_RUNS_UNDER_DOCKER’ => ‘1’,
            ‘OTOBO_RUNS_UNDER_PSGI’ => ‘1’,
            ‘OTOBO_SYNC_WITH_S3’ => ‘0’,
            ‘OTOBO_USER’ => ‘otobo’,
            ‘PATH’ => ‘/opt/otobo/local/bin:/opt/otobo_install/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin’,
            ‘PATH_INFO’ => ‘/Webservice/TestREST/UpdateTicket/2’,
            ‘PERL5LIB’ => ‘/opt/otobo/local/lib/perl5:/opt/otobo_install/local/lib/perl5’,
            ‘PLACK_ENV’ => ‘deployment’,
            ‘PWD’ => ‘/opt/otobo’,
            ‘QUERY_STRING’ => ‘UserLogin=xxxx&Password=yyyyy’,
            ‘REMOTE_ADDR’ => ‘172.18.0.1’,
            ‘REMOTE_HOST’ => ‘localhost’,
            ‘REMOTE_PORT’ => ‘34314’,
            ‘REQUEST_METHOD’ => ‘PATCH’,
            ‘REQUEST_URI’ => ‘/otobo/nph-genericinterface.pl/Webservice/TestREST/UpdateTicket/2?UserLogin=xxxxxx&Password=yyyyyyy’,
            ‘SCRIPT_NAME’ => ‘/otobo/nph-genericinterface.pl’,
            ‘SERVER_NAME’ => ‘0’,
            ‘SERVER_PORT’ => ‘5000’,
            ‘SERVER_PROTOCOL’ => ‘HTTP/1.1’,
            ‘SERVER_SOFTWARE’ => ‘otobo.psgi’,
            ‘SHLVL’ => ‘0’
            };

            >Received data by provider from remote system (09.03.2022 16:43:45 (Europe/Berlin), debug)
            {“Ticket”:{“Title”:”Test-Test-Test”},”DynamicField”:[{“Name” : “TicketAbrechnungsText”,”Value” : “Neuer Wert des Feldes”}]}

            >Detected operation ‘UpdateTicket’ (09.03.2022 16:43:45 (Europe/Berlin), debug)
            No data provided

            >Incoming data before mapping (09.03.2022 16:43:45 (Europe/Berlin), debug)
            $VAR1 = {
            ‘DynamicField’ => [
            {
            ‘Name’ => ‘TicketAbrechnungsText’,
            ‘Value’ => ‘Neuer Wert des Feldes’
            }
            ],
            ‘Password’ => ‘xxxx’,
            ‘Ticket’ => {
            ‘Title’ => ‘Test-Test-Test’
            },
            ‘TicketID’ => ‘2’,
            ‘UserLogin’ => ‘yyyyy’
            };

            bei 10.1.1 bekomme ich leider
            >Communication sequence started (09.03.2022 16:21:05 (Europe/Berlin), debug)
            $VAR1 = {
            ‘GATEWAY_INTERFACE’ => ‘CGI/1.1’,
            ‘HOME’ => ‘/opt/otobo’,
            ‘HOSTNAME’ => ‘a1c9d0e889be’,
            ‘LANG’ => ‘C.UTF-8’,
            ‘LC_ALL’ => ‘C.UTF-8’,
            ‘OTOBO_GROUP’ => ‘otobo’,
            ‘OTOBO_HOME’ => ‘/opt/otobo’,
            ‘OTOBO_RUNS_UNDER_DOCKER’ => ‘1’,
            ‘OTOBO_SYNC_WITH_S3’ => ‘0’,
            ‘OTOBO_USER’ => ‘otobo’,
            ‘PATH’ => ‘/opt/otobo/local/bin:/opt/otobo_install/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin’,
            ‘PERL5LIB’ => ‘/opt/otobo/local/lib/perl5:/opt/otobo_install/local/lib/perl5’,
            ‘PLACK_ENV’ => ‘deployment’,
            ‘PWD’ => ‘/opt/otobo’,
            ‘SHLVL’ => ‘0’
            };

            >Detected operation ‘UpdateTicket’ (09.03.2022 16:21:05 (Europe/Berlin), debug)
            No data provided

            >Incoming data before mapping (09.03.2022 16:21:05 (Europe/Berlin), debug)
            $VAR1 = {
            ‘Password’ => ‘xxxx’,
            ‘RequestMethod’ => ‘PATCH’,
            ‘TicketID’ => ’55’,
            ‘UserLogin’ => ‘yyyyy’
            };

            Was mache ich falsch?
            Die REST-API ist 1:1 aufgebaut

          • #12829
            uwe-kreutz
            Teilnehmer

              Das Verhalten ist schon bekannt und unter nachzulesen.

              GenericInterface: PATCH and PUT requests fail

              https://github.com/RotherOSS/otobo/issues/1657

          Ansicht von 3 Antwort-Themen
          • Du musst angemeldet sein, um auf dieses Thema antworten zu können.