1b.app
Link kopiert -

JSON-Anforderungsaktion übergibt den Geschäftsprozess an die API

Ich versuche, eine API-Anfrage für Joyson zu schreiben
es stellt sich so heraus
{"id": "3589", "Telefonnummer": "0994259117", "api_key": xxxxxxxxxx"}
https://prnt.sc/urtvw6
und der Server möchte einige der Parameter in einem Array
{"id": "3589", "params": {"phonenumber": "0994259117", "api_key": "xxxxxxxx"}}
Wie kann ich das machen?
Die ursprüngliche Frage ist in der Version verfügbar: ru

Antworten:

Versuchen Sie, durch einen Schrägstrich zu schreiben / D.h. Zuerst geben Sie den ersten Parameter an, sagen wir, dies ist id in einem Feld, um die Verschachtelung der Telefonnummer anzugeben, geben Sie id/phonenumber und id/api_key im nächsten Feld an, ohne dass ein bestimmter Anwendungsfall in Aktion ist, kann ich nicht sagen mit Sicherheit.
02.10.2020, 15:34
Originalkommentar zur Version verfügbar: ru

so ein Parameter kommt einfach nicht in die Anfrage http://prntscr.com/urw4ml https://adapter.crm-onebox.com/admin/shop/workflow/14/procedure/15/?status=0 und ein Fehler steht im Kommentar http://prntscr.com/urw69g
02.10.2020, 15:51
Originalkommentar zur Version verfügbar: ru

Dmitry Mironenko Der Client schrieb: ein solcher Parameter kommt einfach nicht in die Anfrage =0und ein Fehler im Kommentar schreibt http://prntscr.com/urw69g
Entschuldigung, ich dachte, dass Sie das nicht weitergeben Prozessfelder, aber die Felder im benutzerdefinierten Block unter http://i.imgur.com/yMnmEXy.png gibt es, sobald Sie das haben, was Sie brauchen
02.10.2020, 15:56
Originalkommentar zur Version verfügbar: ru

http://prntscr.com/ury3w1 song... wenn [requestUrl] und [request] in der Adressleiste des Browsers hinzugefügt werden, dann erhalten wir aus irgendeinem Grund das gewünschte Ergebnis http://prntscr.com/ury65l durch die Aktion „Geschäftsprozess übertragen keine Antwort in API?
02.10.2020, 17:22
Originalkommentar zur Version verfügbar: ru

Versuchen Sie auch, die Aktionseinstellungen "Verwendete Autorisierungsmethode" zu optimieren, z. B. Basic, oder übertragen Sie etwas von der URL "Zusätzliche Anforderungsheader (geben Sie mehrere mit Semikolon an)" in die Header"
Dmitry Mironenko Der Client schrieb: aber warum - keine Antwort über die Aktion „Geschäftsprozess an die API übergeben“ erfolgt?
Ich verstehe, dass deine Antworten in die Kommentare geladen werden sollen? Versuchen Sie, in einem anderen Feld zu schreiben ... Vieles hängt von der API selbst ab, an der wir anklopfen, daher ist es schwierig, etwas Bestimmtes vorzuschlagen ...
02.10.2020, 17:35
Originalkommentar zur Version verfügbar: ru

Ja, und mit der Verarbeitung der Antwort haben Sie offensichtlich etwas getan http://i.imgur.com/UIEMBI7.png
02.10.2020, 17:42
Originalkommentar zur Version verfügbar: ru

Shcherbatykh Ivan Alexandrovich Der Mitarbeiter schrieb: ja, und mit der Verarbeitung der Antwort haben Sie offensichtlich etwas getan http://i.imgur.com/UIEMBI7.png
wenn ich ständig eine solche Antwort sehe http://prntscr.com/urzl72 und versuchen Sie es zu verarbeiten
02.10.2020, 18:33
Originalkommentar zur Version verfügbar: ru

kann ich die Kodierung der Anfrage ändern? Und Sie können wirklich sehen, was Boxen an einigen Diensten sendet?
02.10.2020, 21:51
Originalkommentar zur Version verfügbar: ru

Wenn ich mich nicht irre, ist die Standardcodierung für JSON UTF-8. Es gibt keine Möglichkeit, die Aktion selbst zu ändern. Und schon sieht man die Logs, nämlich was gesendet wird https://prnt.sc/ury3w1 Was meinst du mit Service? Sie senden eine Anfrage an eine bestimmte Ressource, nämlich an https://blackbox.net.ua/ - dort ist es möglich, dass es Protokolle darüber gibt, was hereinkommt.
05.10.2020, 12:29
Originalkommentar zur Version verfügbar: ru

Dmitry Mironenko Der Client schrieb: Lied ... wenn [requestUrl] und [request] in der Adressleiste des Browsers hinzugefügt werden, erhalten wir das gewünschte Ergebnis [/ quote] Wir haben die gleiche Situation. Im Browser ist alles OK, die Antwort ist richtig und die Anzahl der Anfragen wird um 1 reduziert. Aber durch die Box führt kein Weg https://i.imgur.com/CcPUncE.png/ Bitte sag mir, hast du einen Weg finden, die richtige Antwort durch das Kästchen zu erhalten?[#$# ]
14.01.2021, 16:31
Originalkommentar zur Version verfügbar: ru

wie man Parameter schreibt - ja. laut den Logs ist sogar alles korrekt mit der Anfrage, aber die Seite gibt immer noch einen Fehler aus.
15.01.2021, 12:50
Originalkommentar zur Version verfügbar: ru

Dmitry Mironenko Der Client schrieb: wie man Parameter schreibt - ja. Laut den Protokollen wird sogar alles korrekt mit der Anfrage, aber die Site gibt immer noch einen Fehler aus.
Danke für deine Antwort. Schade, dass sie es noch nicht eingerichtet haben ((Wir haben auch herausgefunden, wie man die Parameter einstellt, wenn auch etwas anders. Es bleibt zu verstehen, warum es direkt funktioniert, aber nicht durch Boxen.
15.01.2021, 12:58
Originalkommentar zur Version verfügbar: ru

Dmitry Mironenko
Mit der in der Aufgabe besprochenen Aktion gehe ich langsam weiter, aber im Moment habe ich den Empfang von Informationen auf andere Weise eingerichtet. Teilen :-) Zuerst habe ich mit der Aktion "Wert in zusätzliches Feld schreiben" und Variablen Abfrageparameter einschließlich "data=" erstellt. https://i.imgur.com/usbSLle.png/ Der Text lautet: data=%7B%22id%22%3A%22{|$orderid|}%22%2C%22params%22%3A%7B%22phonenumber % 22%3A%22{|$clientphone|}%22%2C%22api_key%22%3A%22YourApiKey%22%2C%22name%22%3A%22{|$clientfio|}%22%7D%7D Bereits angemeldet Textvariable Bestellnummern, Telefonnummer und vollständiger Name des Kunden werden eingefügt, und der Text YourApiKey (im Screenshot unscharf) muss durch Ihren API-Schlüssel in seiner reinen Form (ohne Anführungszeichen und Klammern) ersetzt werden. Und vorsichtig mit Leerzeichen in der Anfrage. Bei zusätzlichen Leerzeichen (z. B. um den Schlüssel herum) erhielt ich den gleichen 101. Fehler als Antwort. Dann habe ich in der Aktion „Eine GET-Anfrage mit Parametern ausführen“ in die GET-URL http://blackbox.net.ua/api/ und in die GET-Parameter – eine Variable für das zusätzliche Feld der Bestellung – geschrieben dem die Anforderung durch die obige Aktion eingefügt wurde. Das Fragezeichen zwischen der URL und den Parametern wird von der Box selbst eingefügt, also habe ich es nirgendwo hingeschrieben. Der Antworttext im zusätzlichen Feld der Bestellung, nur in einem anderen https://i.imgur.com/S3R4d7p.png/ Und der letzte leitete die Bestellung gegebenenfalls auf eine Sonderstufe für Fälle mit Kunden auf der schwarzen Liste um . In der Aktion „Ändern Sie den Geschäftsprozess und die Phase in Abhängigkeit von den Werten der Felder“ habe ich das zusätzliche Feld der Bestellung mit der Antwort auf das Vorhandensein des Wortes data im Antworttext überprüft, weil im Falle eines Fehlers oder des Fehlens eines Clients in der Datenfeldliste erfolgt keine Antwort. https://i.imgur.com/JXBjoPW.png/ Wenn Sie die vollständige Antwort sehen möchten, können Sie ein zusätzliches Feld in der Bestelloberfläche anzeigen oder die Bestellhistorie öffnen. Die Verarbeitungsmöglichkeiten einer Response sind mit dieser Methode deutlich eingeschränkter, aber zumindest eine Art Automatisierung funktioniert schon :-) PS: Ich habe den Verdacht, dass die Standard-Aktion „Submit a business process to the API“ auch ein Fragezeichen einfügt die Anfrage oder etwas anderes zwischen der URL und den Parametern, daher kommt der Fehler. Zur Überprüfung müssen Sie nur "http://blackbox.net.ua/api/" in die URL einfügen und sicherstellen, dass die Parameter die Form "data={...}" haben. Aber ich habe nicht herausgefunden, wie man das macht.
15.01.2021, 18:02
Originalkommentar zur Version verfügbar: ru

Bitte beteiligen Sie sich am Dialog. Wenn Sie etwas zu sagen haben - schreiben Sie bitte einen Kommentar. Für die Teilnahme benötigen Sie ein Mobiltelefon und einen SMS-Code zur Identifizierung. Melden Sie sich an und schreiben Sie einen Kommentar