Ugrás a fő tartalomra

RESTful API meghívása műveletből (Külső művelet)

A műveletek egy speciális típusa lehetőséget ad arra, hogy a művelet ne a SalesAutopilot-on belüli adatokon végezzen módosítást, hanem egy külső RESTful szabványnak megfelelő API-t meghívva egy külső rendszernek adjon át adatokat.

A külső műveletekkel kapcsolatban felmerülő kérdések, elakadások vizsgálata túlmutat az általános ügyfélszolgálati támogatás keretein, ezért ingyenesen nem tudunk támogatást nyújtani. Javasoljuk, hogy kérdéseiddel és elakadásaiddal keress fel egy programozásban jártas szakembert.

A művelet létrehozásakor a művelet típusánál válaszd a Külső művelet opciót.

A megjelenő beállítási lehetőségeknél a Típus legördülőben válaszd a RESTful (általános) opciót. Ezután add meg a RESTful API hívásához szükséges felhasználónevet és jelszót, illetve az erőforrás URL-jét a http:// vagy https:// előtaggal.

A külső műveletek a következő IP címekről kezdeményezhetik a hívásokat: 52.208.2.1, 54.194.149.31, 34.252.251.36, 52.30.114.41

Adatok átadása JSON paraméterekkel

Ilyen paraméterezéssel van lehetőség például a MailMaster/SalesAutopilot API meghívására külső művelettel. Így hozhatsz létre például új megrendelést egy levélművelettel.

A művelet beállítása opciónál a RESTful hívás paraméterei közül az Adatformátumnál a JSON opciót (1) kell választani.

Ebben az esetben lehetőséged van arra, hogy az adatokat egyből JSON formátumban add meg, tehát azokat nem kötelező a belső formátumra hozni.

Adatok átadása multipart/form-data paraméterekkel

Ilyen paraméterezéssel van lehetőség például a Shoprenter API meghívására külső művelettel, ezáltal a SalesAutopilot-ból adat átadására a Shoprenter felé. Például egy SalesAutopilot-ban létrejött egyedi kupont át lehet adni a Shoprenter-nek, amely ettől fogva ott is elérhető lesz.

A művelet beállítása opciónál a RESTful hívás paraméterei közül az Adatformátumnál a multipart/form-data opciót (2) kell választani.

Adatok átadása POST paraméterekkel

Ha a meghívandó API POST paraméterekként várja az adatokat, akkor az Adatformátum opciók közül a POST paramétereket (3) válaszd.

Ebben az esetben az adatok ilyen formában kerülnek átadásra:

email=teszt%40emesz.hu&firstname=Gyuri

Az átadandó adatok formátuma

JSON adatformátum esetén megengedett a JSON szintaxis, a multipart/form-data illetve post paraméterek használata esetén az alábbiakban bemutatott belső formátumot használd!

Az átadandó adatok mezőbe technikailag 64000 karaktert lehet beírni, ahol a sorok száma nem lényeges, csak az össz karakterszám számít.

Az átadandó adatok szövegbeviteli mezőben tudod felsorolni, hogy milyen kulcs - érték párok kerüljenek átadásra. Az adatok átadása POST metódussal történik. A kulcs - érték párokat | (függőleges vonal) karakterrel kell elválasztani. A kulcs és az érték közé pedig : (kettőspont) karaktert kell írni. Az értéknél használhatsz email lista mezőkódot a mezőnevet szögleges zárójelek közé írva, pl.: [mssys_firstname]. Illetve átadhatsz konstans értéket is idézőjelek közé írva, pl.: "Terméknév".

Példa egy átadandó adatsorra:

mssys_firstname: [mssys_firstname]|product: "Terméknév"

Ha értékként tömböt szeretnél átadni, akkor a mezőnév: után JSON formátumban add meg a tömböt.

Példa tömb átadására:

products:[{
"prod_id" : "23",
"qty" : "1",
"prod_price" : "11500",
"prod_name"  : "[termek_neve]"
},{ 
 "prod_id" : "25",
"qty" : "2",
"prod_price" : "4500",
"prod_name"  : "Akciós termék neve #2"
}]

Így a külső műveletet használhatod a SalesAutopilot saveOrder API metódusának meghívására is.

Megrendelt termékek átadása már létező megrendelésből

Megrendelés listánál a megrendelt termékek átadására használd a [mssys_ordered_products] mezőkódot az átadandó paraméter értéknél:

{
"email" : "[email]", 
"mssys_firstname" : "[mssys_firstname]", 
"mssys_lastname" : "[mssys_lastname]", 
"shipping_method" : "[mssys_shipping_modetype]", 
"products" : [mssys_ordered_products]
}

Ezt a megoldást mind a JSON, mind pedig a belső formátum használata esetén alkalmazhatod.

A megrendelt termék vagy termékek egy JSON tömbben kerülnek átadásra. Az altömbökben alábbi kulcsnevekbe kerülnek a rendelt termékek:

  • prod_id: rendelt termék SalesAutopilot-os azonosítója

  • prod_name: rendelt termék neve

  • prod_sku: rendelt termék cikkszáma

  • prod_price: rendelt termék nettó egyságára

  • prod_qty: rendelt termékek darabszáma

  • prod_vat_percent: rendelt termékhez tartozó áfa kulcs százalékban

  • prod_currency: termék árához tartozó pénznem, a nemzetközi hárombetűs jelölést használva (pl. EUR)

{
"email" : "teszt.elek@pel.da" , 
"mssys_firstname" : "Elek" , 
"mssys_lastname" : "Teszt" , 
"shipping_method" : "12345" , 
"products" : [{
	"prod_id" : "121212" , 
	"prod_name" : "Teszt termék" , 
	"prod_sku" : "T001" , 
	"prod_price" : "1.00" , 
	"prod_qty" : "1" , 
	"qty" : "1" , 
	"prod_vat_percent" : "27" , 
	"prod_currency" : "HUF"
	}]
}

A szállítási módot a következőképpen kell átadnod, ha megrendelés listából másolod az adatokat:

"shipping_method"  : "[mssys_shipping_modetype]"

Amennyiben ezt a mezőkódot kívánod használni, a következő részletekre figyelj:

  • Az [mssys_ordered_products] mezőkódot ne tedd idézőjelek közé, mert a mezőkód egy tömböt helyettesít be és a JSON tömböket nem kell idézőjelbe tenni.

  • Az űrlapnak, amelyet használsz, "több termékes, mindegyikből több választható" típusúnak kell lennie, függetlenül attól, hogy valójában hány termék rendelhető, mert a mezőkódot minden esetben termékek tömbjével helyettesítjük, akkor is, ha csak egyetlen rendelt termék szerepel benne.

Ezt a megoldást mind a JSON, mind pedig a belső formátum használata esetén alkalmazhatja.

Külső művelet tesztelése

Mindenképp teszteld a művelet működését. A műveletek listájánál az adott műveletnél a Szerkesztés melletti legördülőben található Eseménynapló menüpontra kattintva megjelenik mikor, milyen adatokat adott át a SalesAutopilot a megadott szervernek és a szerver milyen választ adott vissza.

Választ kapott a kérdésére?