SendFromExcel
Pénz küldés Excelből több címzettnek
A Barion API segítségével rendkívül egyszerűen lehet pénzt küldeni, akár különösebb informatikai ismeretek nélkül is. Az alábbi példában egy Excel táblát mutatunk be, amiben egymás alatt felsorolt e-mail címekre adott összeget, adott megjegyzéssel lehet elküldeni egyetlen gombnyomással. az eszköz kiválóan használható bármilyen tömeges (batch) pénzküldésnél, például CashBack akcióknál a visszatérítés küldésére, havi juttatások küldésére cafetéria rendszerben, stb.
Az Excel tábla egy makróval működik, melyhez egy nyílt forráskódú REST API hívó könyvtárat, az Excel-REST könyvárat vettünk segítségül, amely az MIT licencnek köszönhetően bárkinek bármilyen célra, akár üzleti célra is, ingyenesen használható.
Az Excel tábla felépítése
A makró a C3 és C4 mezőkben megadott Barion azonosítóval és jelszóval rendelkező felhasználó tárcájából küldi a pénzt, a 7-es sortól kezdve felsorolt kedvezményezetteknek, mindaddig, amíg az A oszlopban üres mezőt nem talál. Az A oszlop a kedvezményezett e-mail címe, a B az összeg forintban, a C pedig a megjegyzés. A küldés eredménye a D és E oszlopba íródik.
Az Excel makró forráskódja
Az Excel makró Visual Basic for Applications vagy VBA forráskódja:
Sub Button1_Click() If MsgBox("Valódi pénzküldést indítasz, biztosan ezt akarod?", vbYesNo + vbQuestion) = vbNo Then Exit Sub Dim row_index As Integer row_index = 7 Do While True If Cells(row_index, 1) = "" Then Exit Do SendMoney row_index row_index = row_index + 1 Loop End Sub Sub SendMoney(r As Integer) Dim j As String j = "{UserName: """ & Cells(3, 3) & """, Password: """ & Cells(4, 3) & """, " j = j & "Recipient: """ & Cells(r, 1) & """, Amount: """ & Cells(r, 2) & """, Comment: """ & Cells(r, 3) & """, " j = j & "CommissionBySender: ""true"", Currency: ""HUF"", ContactType: ""0""}" Dim Client As New RestClient Dim Request As New RestRequest Dim Response As RestResponse Client.BaseUrl = "https://api.barion.com/" 'az éles szerver, azaz valódi e-pénz művelet kerül végrehajtásra! Request.Resource = "transfer/send/" Request.Method = httpPOST Request.Format = json Request.AddBodyString j Set Response = Client.Execute(Request) Cells(r, 4) = Response.StatusCode & ": " & Response.StatusDescription Cells(r, 5) = Response.Content End Sub
Használt API hívások
A példa csak a Transfer/Send REST API hívást használja a pénz küldéshez. Ennek pontos paramétereit, hibakódokat és bemeneti és kimeneti példákat az API leírásában lehet megtalálni: