Supported Bluetooth devices: |
Zebra CS4070 Zebra ZQ630 Zebra DS3678 qIDmini with Apple profile (R1170IEAPLP) produced by CAENRFID skID - R1280I Custom MyPrinter A Custom MY3 Alien ALR-S350 Ingenico Bluetooth devices connected via PCL driver tested with Link/2500 ČSOB version BlueSnap Smart (RS232 to Bluetooth adapter) Infinea mPos Flat DPP-255 Mobile Printer |
Supported RS232 via BlueSnap Smart adapter (Bluetooth 4.0) devices: |
Scales with RS232 interface configured via Gonector_Set with selectors "scaleReadCommand" and "scaleWeightPattern" Tested on:
Traveler TA301 OHAUS scale LESAK J1-RWP scale |
Supported directly connected devices: |
Linea and Infinea product line from Infinite PeripheralsTested on:
LINEA PRO 7 encrypted Infinea mPos BP500 Infinea X |
Supported iOS devices for native RFID/NFC tag reading: | iPhone 7 and higher with iOS 11 and newer |
Supported iOS devices for native NFC tag writing: | iPhone 7 and higher with iOS 13 and newer |
Supported NFC cards: | ISO 14443A (Mifare Classic 1k, Mifare Ultralight) ISO 15693 cards |
Windows | Windows 7 and newer, FileMaker 16.0 and higher |
macOS | macOS Sierra 10.12, FileMaker 16.0 and higher |
Functions return either default testing values or "notImplemented". This has to be set with function Gonector_Set.
The plugin used for desktop integration does not require SNLib verification
Returns version string of the plugin, formatted as requested by the parameter
versionFormat | Defines the format of the returned version. |
"short" | To get just the version number, default value |
"long" | To get the plugin name followed by its version number |
"platform" | To get the platform of the code currently running on |
"autoupdate" | To get autoupdate compatible (comparable) version number |
This function is very important and it has the same output format in all 24U plugins. You should call this function every time you need to check if the plugin is properly installed to the FileMaker Pro®. Even if the plugin is not registered (or badly registered) this function should work. Calling this function in the startup script of your solution is recommended.
Returns requested version format or platform. If this function returns "?", the plugin is not properly installed or FileMaker Pro cannot load and activate it for some reason.
Gonector_Version( "long" )
This will return the plugin name and its version. For example "Gonector 1.1"
Gonector_Version( "platform" )
Returns "Mac OS X", "iOS" or "Windows" depending on the platform the plugin is currently running
Gonector_Version( "autoupdate" )
Returns "01000300" for the plugin version 1.1.3. The last two digits represent the build number. In this case it means build 00 (first build) of version 1.1.0
Provides special functionality to operate with plugin serial numbers
SerialNumber | Register given SerialNumber and return an error code |
"Status" | Return the actual registration state of the plug-in: Demo, Demo expired, Trial, Trial Expired, Registered or Dead. |
"Unregister" | Unregister all serial numbers related to the product and return an error code |
EmailAddress | Tries to activate Plug-In with given email address and return an error code. Trial version is valid only after you confirm email. |
"Info" | Returns current plugin status and its registered serial numbers. |
"Activation" | Returns generated challenge string. A string to send to 24U. |
Use this function to register or unregister plugin or to get information about current registration state
Returns zero. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_Register( "GON11I-BXMWC-VNW7W-L8AJS-3KGX3-XYG84" )
This function will register the iOS plugin with serial number GON11I-BXMWC-VNW7W-L8AJS-3KGX3-XYG84.
Gonector_Register( "unregister" )
This function will unregister every serial number related to plugin
Connect to the device specified
deviceName | To connect to native iPhone RFID/NFC Reader use "iPhone" as deviceName
To connect to Linea or Infinea product line use "LineaInfinea" as deviceName
To connect to Infinea mPos use "mPosInfinea" as deviceName To connect to Zebra scanners please check out device manual: CS4070 or DS3678 deviceName for connectable bluetooth devices can be received through the function Gonector_Get( "devices" ; deviceType) |
This function will try to find device with provided deviceName and connect to it. In case of CustomPrinter, IngenicoTerminal, Infinea mPos Flat, Zebra ZQ630 via Bluetooth Classic and qIDmini device has to be paired via bluetooth.
Function returns 0 if connected. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_Connect( "MYPrinterA_1" )
This command connects the plugin to the bluetooth device MYPrinterA_1.
Gonector_Connect( "MYS350Reader_1ALR350" )
This command connects the plugin to the bluetooth device MYS350Reader_1ALR350.
Gonector_Connect( "LineaInfinea" )
This command connects the plugin to the device of Linea or Infinea type.If You have troubles connecting to the device please check the LineaInfinea troubleshooting guide
Gonector_Connect( "dppPrinter" )
This command connects the plugin to the DPP-255.
Gonector_Connect( "iPhone" )
This command connects the plugin to the iPhone.
Disconnect from the device
deviceName | Use the particular name to disconnect solely this device |
This function is used to disconnect from the device.
Function returns 0. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_Disconnect( "MYPrinterA_1" )
This command disconnects the device MYPrinterA_1.
Gonector_Disconnect( "MYS350Reader_1ALR350" )
This command disconnects the device MYS350Reader_1ALR350.
Gonector_Disconnect( "LineaInfinea" )
This command disconnects the device of Linea or Infinea type.
Gonector_Disconnect( "dppPrinter" )
This command disconnects the device DPP-255.
Get value specified by the selector parameter
selector | Resource selector |
option | Specifies the request. Use device name as option parameter for all device specific selectors (those not marked as General in table below) |
additionalData | Used to specify additional data |
Selector | Supported devices | Explanation |
"desktopIntegrationSetup" | General | Returns if "default" or "notImplemented" return values are set for the desktop integration. Note: not implemented on iOS |
"inlineDocumentation" | General | Returns "on" or "off" based on status of inlineDocumentation in plugin. This can help with development on desktop. Note: not implemented on iOS |
"urlScheme" | General | Returns the uniqueString of the URL Scheme. For more info see Gonector_SetScriptEvent() |
"lastError" | General | Returns error code from the last plugin call. |
"lastErrorMessage" | General | Returns error text description from the last plugin call |
"firmwareVersion" | All devices | Returns firmware release version of the connected device. Device must be connected |
"softwareVersion" | All devices | Returns software release version of the library. Device must be connected |
"devices" | All bluetooth devices | Use "customPrinter", "blueSnapAdapter", "ingenicoTerminal", "mPosInfinea", "dppPrinter", "AlienReader", "ZebraScanner", "ZebraPrinter" or "qIDmini" as option parameter to specify Your request |
"connectedDevices" | All bluetooth devices | Returns all connected (via Gonector_Connect) devices separated by ¶. Use "customPrinter", "blueSnapAdapter", "ingenicoTerminal", "mPosInfinea", "dppPrinter", "AlienReader", "ZebraScanner", "ZebraPrinter" or "qIDmini" as option parameter to specify Your request |
"randomKey" | Linea and Infinea | Returns randomly generated ready to use stripeKey for the Linea or Infinea device for the Linea or Infinea device You can use this key with Gonector_Set( "deviceStripeKey" ; stripeKey ) |
"nfcCardUid" | Linea and Infinea | Get the UID of the card |
"imageAlignment" | Custom printers and DPP-255 | Returns "left", "center" or "right" |
"imageScaling" | Custom printers and DPP-255 | Returns case "none", "scaletofit" or "scaletowidth" |
"imageWidth" | Custom printers and DPP-255 | Returns the width (in pixels) value from the printer |
"fontType" | Custom printers, Zebra ZQ630 and DPP-255 | Returns type of currently used font |
"fontWidth" | Custom printers, Zebra ZQ630 and DPP-255 | Returns a width of font |
"fontHeight" | Custom printers, Zebra ZQ630 and DPP-255 | Returns a height of font |
"fontSize" | Custom printers, Zebra ZQ630 and DPP-255 | Returns "fontWidth¶fontHeight" |
"fontAlignment" | Custom printers and DPP-255 | Returns "left", "center" or "right" |
"fontBold" | Custom printers and DPP-255 | Returns "on" or "off" |
"fontItalic" | Custom printers and DPP-255 | Returns "on" or "off" |
"fontUnderline" | Custom printers and DPP-255 | Returns "on" or "off" |
"textRotation" | Zebra ZQ630 | Returns value of 0, 90, 180 or 270 degrees(clockwise) rotation of printed text. |
"printableArea" | Zebra ZQ630 | Returns "printableWidth¶printableHeight" |
"barcodeAlignment" | Custom printers and DPP-255 | Returns the alignment of barcodes |
"barcode1dWidth" | Custom printers, Zebra ZQ630 and DPP-255 | Returns the width (in pixels) of 1D barcodes |
"barcode2dWidth" | Custom printers, Zebra ZQ630 and DPP-255 | Returns the width (in pixels) of 2D barcodes |
"barcodeHeight" | Custom printers and DPP-255 | Returns the height of barcodes. This value has no effect on 2D codes |
"barcodeHri" | Custom printers and DPP-255 | Returns "Human Readable Interpretation" position for 1D codes. Possible values are "none", "top", "bottom" or "topbottom" for both top and bottom |
"barcodeRotation" | Zebra ZQ630 | Returns value of 0, 90, 180 or 270 degrees(clockwise) rotation of printed barcodes. |
"barcodeScaling" | Zebra ZQ630 | Return value 1 to 10 used to scaling QRCODE and AZTEC 2d barcodes. |
"scaleReadCommand" | Scales | Returns the string to be used by function Gonector_Read |
"scaleWeightPattern" | Scales | Returns the perl-compatible regular expression used to parse data into the weight type |
"terminalTransactionTimeout" | Ingenico terminals | Returns the transaction timeout in milliseconds |
"terminalInfo" | Ingenico terminals | Returns the terminal info containing its truncated serial number (8 last digits), reference code and protocol in format serialNumber¶reference¶protocol |
"terminalTime" | Ingenico terminals | Returns time of the terminal in following format "YYYY-MM-DD hh:mm:ss TZD" |
"terminalFullSerialNumber" | Ingenico terminals | Returns a string with serial number |
"terminalComponents" | Ingenico terminals | Returns a JSON string such as this: [
[ {
"name": "",
"version": "",
"crc": "",
"type": ""
}, {
"name": "",
"version": "",
"crc": "",
"type": ""
} ]
]
Type can be: Application, Library, Driver or Parameter File |
"terminalTmsInformation" | Ingenico terminals | Returns the parameters of the TMS server on Telium side in the format: host¶port¶identifier. Terminal Management System (T.M.S.) |
"terminalBacklightTimeout" | Ingenico terminals | Returns the backlight timeout in seconds |
"terminalSuspendTimeout" | Ingenico terminals | Returns the suspend timeout in seconds |
"terminalBatteryLevel" | Ingenico terminals | Returns a value of 0-100 |
"terminalIPAddress" | Ingenico terminals | Returns the IP address of the terminal |
"terminalEncoding" | Ingenico terminals | Returns the encoding used by the device |
"RFIDEPCStructure" | Zebra ZQ630 | Returns the structure of EPC data, which can be read from or written to an RFID tag. For more information about EPC specifications, refer to the EPC Global web site. |
This function is used to get value specified by the selector.
Function returns required parameter. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_Get( "inlineDocumentation" )
This command returns "on" or "off".
Gonector_Get( "devices" ; "customPrinter" )
This command returns all customPrinter devices divided by "¶".
Gonector_Get( "fontAlignment" ; "MYPrinterA_1" )
This command returns "left" if the device MYPrinterA_1 has default alignment.
Gonector_Get( "fontAlignment" ; "dppPrinter" )
This command returns "left" if the device DPP-255 has default alignment.
Gonector_Get( "randomKey" ; "LineaInfinea" )
This command returns string such as "16465168765168416845198645316551".
Gonector_Get( "barcodeHri" ; "MYPrinterA_1" )
This command returns "bottom" if the device MYPrinterA_1 has HRI set to default.
Gonector_Get( "barcodeHri" ; "dppPrinter" )
This command returns "bottom" if the device DPP-255 has HRI set to default.
Gonector_Get( "devices" ; "ZebraPrinter" )
This command returns all ZebraPrinter devices divided by "¶".
Set value or parameter
selector | Resource selector |
option | Specifies the request. Use device name as option parameter for all device specific selectors (those not marked as General in table below) |
newValue | This parameter is mostly used as a new value to be set, but it can be used for other things for some Selectors - please read table below |
oldValue | This parameter is used to pass an original value for some Selectors |
extraValue | This parameter is used to pass an extra value for some Selectors |
Selector | Supported devices | Where is this setting stored | Explanation |
"inlineDocumentation" | General | In the plugin | Allows to turn off or on inline documentation. Possible values are "on" or "off". When this is turned on a simplified syntax will be visible when you write plugin's function in FileMaker calculation area. Note: not implemented on iOS |
"desktopIntegrationSetup" | General | In the plugin | Allows to choose between "default" and "notImplemented" as return values for the desktop integration. Note: not implemented on iOS |
"urlScheme" | General | In the plugin | Used to speed up Gonector_SetScriptEvent callbacks. Empty string will disable faster callbacks. For more info see Gonector_SetScriptEvent() and for required configuration please refer to following guide |
"antennaPower" | skID, qIDmini and ALR-S350 | In the device | Sets power level for readers emmiter. Supported values are 25, 50, 100, 200, 500. Default set on device is 200. |
"fontType" | Custom printers, Zebra ZQ630 and DPP-255 | In the plugin | CustomPrinter and dppPrinter: sets "wide" or "narrow" for type of characters while printing. Default value is "wide". Zebra ZQ630: sets "bitmapA", "bitmapB", "bitmapD", "bitmapE", "bitmapF", "bitmapG", "bitmapH", "bitmapGS", "bitmapP", "bitmapQ", "bitmapR", "bitmapS", "bitmapT", "bitmapU", "bitmapV" or "scalable" |
"fontHeight" | Custom printers, Zebra ZQ630 and DPP-255 | In the plugin | Sets height of characters while printing. Supported values for customPrinter: 0 through 7 value. Supported values for dppPrinter: 0 or 1.Supported values for Zebra ZQ630: * for bitmap fonts: 1 through 10 -> see table bitmap font size bellow for more information.* for scaleble font: size of font in dots -> see bitmap font size section bellow for more information. Pass this value as a newValue parameter |
"fontWidth" | Custom printers, Zebra ZQ630 and DPP-255 | In the plugin | Sets width of characters while printing. Supported values for customPrinter: 0 through 7 value. Supported values for dppPrinter: 0 or 1.Supported values for Zebra ZQ630: * for bitmap fonts: 1 through 10 -> see table bitmap font size bellow for more information.* for scaleble font: size of font in dots -> see scaleble font size section bellow for more information. Pass this value as a newValue parameter |
"fontSize" | Custom printer, Zebra ZQ630 and DPP-255s | In the plugin | Sets size (width and height) of characters while printing. See fontHeight and fontWidth. |
"fontAlignment" | Custom printers and DPP-255 | In the plugin | Sets "left", "center" or "right" alignment for printing. Pass this value as a newValue parameter |
"fontBold" | Custom printers and DPP-255 | In the plugin | Sets "on" or "off" for printing. Pass this value as a newValue parameter |
"fontItalic" | Custom printers and DPP-255 | In the plugin | Sets "on" or "off" for printing. Pass this value as a newValue parameter |
"fontUnderline" | Custom printers and DPP-255 | In the plugin | Sets "on" or "off" for printing. Pass this value as a newValue parameter |
"textRotation" | Zebra ZQ630 | In the plugin | Sets rotation of 0, 90, 180 or 270 degrees(clockwise) for printed text. Default: 0 |
"printableArea" | Zebra ZQ630 | In the plugin | Sets printable area in dots for one tag. Function accepts two arguments width and height as two whole numbers separated with "¶". Default values are width = 800 and height = 400. See device manual for more information. |
"fontReset" | Custom printers, Zebra ZQ630 and DPP-255 | In the plugin | Resets the plugin font settings to the printer's default ("fontType" = "wide", "fontHeight" = 0, "fontWidth" = 0, "fontSize" = 0, "fontAlignment" = "left", "fontBold" = "off", "fontItalic" = "off", "fontUnderline" = "off")In case of Zebra ZQ630 ("fontType" = "wide", "fontHeight" = 1, "fontWidth" = 1, "fontSize" = 1, "textRotation" = 0) |
"imageAlignment" | Custom printers and DPP-255 | In the plugin | Sets "left", "center" or "right" alignment for printing. Pass this value as a newValue parameter |
"imageScaling" | Custom printers and DPP-255 | In the plugin | Sets case "none", "scaletofit" or "scaletowidth" for printing. Pass this value as a newValue parameter |
"imageWidth" | Custom printers and DPP-255 | In the plugin | Sets width (in pixels) value for printing. Pass this value as a newValue parameter |
"imageReset" | Custom printers and DPP-255 | In the plugin | Resets the plugin image settings to default ("imageAlignment" = "center", "imageScaling" = "none", "imageWidth" = 100) |
"barcodeAlignment" | Custom printers and DPP-255 | In the plugin | Sets "left", "center" or "right" alignment for barcode printing. Pass this value as a newValue parameter |
"barcode1dWidth" | Custom printers, Zebra ZQ630 and DPP-255 | In the plugin | Sets the width (in pixels) of the thinest line for a 1D barcode. Whole numbers only (recommended 2 or 3) |
"barcode2dWidth" | Custom printers and DPP-255 | In the plugin | Sets the width for a 2D barcode. For customPrinter width is in pixels of the whole code (recommended min. 100, for PDF417 barcode type at least 300). For dppPrinter supported values: 1, 4, 6, 8, 10, 12, 14 |
"barcodeHeight" | Custom printers, Zebra ZQ630 and DPP-255 | In the plugin | Sets height for 1D barcode. This selector is not supported for 2D codes because those have constant aspect ratioIn case of Zebra ZQ630, this selector works for 2D barcodes with exception of QRCODE and AZTEC which can be scaled by barcodeScaling selector. |
"barcodeHri" | Custom printers and DPP-255 | In the plugin | Sets a "Human Readable Interpretation" position for 1D codes. Possible values are "none", "top", "bottom" or "topbottom" for both top and bottom |
"barcodeRotation" | Zebra ZQ630 | In the plugin | Sets rotation of 0, 90, 180 or 270 degrees(clockwise) for printed BarCode. Only 1D barcodes supported. Default: 0 |
"barcodeScaling" | Zebra ZQ630 | In the plugin | Sets barcode scaling factor of 1 to 10 for QRCODE and AZTEC 2D barcodes. Default: 2 |
"barcodeReset" | Custom printers, Zebra ZQ630 and DPP-255 | In the plugin | Resets the plugin barcode settings to default ("barcodeAlignment" = "center", "barcode1dWidth" = 3 , "barcode2dWidth" = 100 (customPrinter) / 6 (dppPrinter), "barcodeHeight" = 100, "barcodeHri" = "bottom")In case of Zebra ZQ630 ("barcode1dWidth" = 3 (px), "barcodeHeight" = 100 (px), "barcodeRotation" = 0, "barcodeScaling" = 5) |
"scaleReadCommand" | Scales | In the plugin | String to send to the scale to request sending current weight data (Gonector_Read). This string will be sent to the scale when you call Gonector_Read( deviceName ) |
"scaleWeightPattern" | Scales | In the plugin | Perl-compatible regular expression to extract weight from the data received from the scale Plug-In seperates regex groups by "¶" See the Examples section below for specific examples |
"baudrate" | Scales | In the device | Sets the baudrate on the BlueSnap Smart adapter. As a part of the initial setup you should set the same baudrate for your Scale and blueSnapAdapterPlease, follow this guide to properly setup you baudrate |
"connectionStripeKey" | Linea and Infinea | In the plugin | Sets a stripe key Default key is "00000000000000000000000000000000" |
"deviceStripeKey" | Linea and Infinea | In the device | Sets a new stripe key Use 4 parameters including the old key Changing the default key is mandatory in compliance with PCI. New key must be stored or remembered. Lost key can't be retrieved. To reset the keys the device must be sent to the manufacturer. Use function Gonector_Get( "randomKey" ; deviceName ) to get a random key |
"terminalTransactionTimeout" | Ingenico terminals | In the device | Sets the transaction timeout. Use newValue to set time in milliseconds. Note: changing the transaction timeout is not recommended |
"terminalTime" | Ingenico terminals | In the device | Sets the time in the terminal using the current iOS device time |
"terminalReset" | Ingenico terminals | In the device | Reboots the terminal |
"terminalTmsHost" | Ingenico terminals | In the device | The TMS's server IP address or hostname (hostname can't exceed 257 characters) |
"terminalTmsPort" | Ingenico terminals | In the device | The TMS's server Port (can't exceed 65535) |
"terminalTmsIdentifier" | Ingenico terminals | In the device | The TMS's server Identifier (9 caracters max) |
"terminalDoUpdate" | Ingenico terminals | In the device | This option updates the terminal |
"terminalBacklightTimeout" | Ingenico terminals | In the device | This section does not apply to iSMP devices as standby parameters are overridden by iOS device behavior. However, if you unplug the iOS device, these parameters will be taken into account |
"terminalSuspendTimeout" | Ingenico terminals | In the device | This section does not apply to iSMP devices as standby parameters are overridden by iOS device behavior. However, if you unplug the iOS device, these parameters will be taken into account |
"terminalEncoding" | Ingenico terminals | In the plugin | This sets the encoding to be used for received data for example for "onTransactionDidEnd" event. Possible values are "utf-8" and "iso-8859-2". Default is "utf-8" |
"appDevKey" | Linea and Infinea, DPP-255 | In the plugin | In order to use device you have to first provide developer key. You can find how to obtain developer key in the manual for Linea and Infinea, section 5 |
"beep" | ALR-S350, LineaInfinea, Zebra CS4070, Zebra DS3678 | In the plugin | This will cause device to beep based on provided parameters. ALR-S350: Takes newValue parameter as beep duration, it cause device to beep for 20 to 1000 milliseconds. Zebra CS4070 and Zebra DS3678: Takes newValue parameter as type of beep see table bellow for more information. LineaInfinea/mPosInfinea device takes newValue parameter as beep duration in milliseconds, oldValue parameter as volume of beep (0-100) and extraValue as frequency of beep(2000-5000) |
"beepVolume" | Zebra CS4070, Zebra DS3678, LineaInfinea, ALR-S350 | In the Device | Sets beeper volume for automatic after successful scan beep. Possible values for ZebraScanner: 0 = HIGH, 1 = MEDIUM, 2 = LOW"high", "medium" and "low" (medium is default value). Possible values for LineaInfinea: 0 - 100 (50 is default value) Possible values for ALR-S350: 0-1 (0 = do not beep after scan, 1 = beep after scan)(1 is default value) |
"beepFrequency" | Zebra CS4070, Zebra DS3678, LineaInfinea | In the Device | Sets beeper frequency for automatic after successful scan beep. Possible values for ZebraScanner: 0 = HIGH, 1 = MEDIUM, 2 = LOW"high", "medium" and "low" (medium is default value). Possible values for LineaInfinea: 2000 - 5000 (2000 is default value) |
"led" | Zebra CS4070, Zebra DS3678, LineaInfinea | In the Device | This will cause device LED to turn on/off. Supported newValue parameter for Zebra Scanners: "Green", "Yellow", "Red" and "Off". Supported newValue parameter for LineaInfinea: "On" and "Off" (Not all LineaInfinea devices have LED indicators, please check Technical documentation of your device for more information). You can use oldValue parameter as timeout: meaning that LED will turn off after set milliseconds. |
"vibrationFeedback" | Zebra CS4070, Zebra DS3678, LineaInfinea | In the Device | This will cause device to vibrate for 0.5s. |
"readTimeout" | ALR-S350, Linea and Infinea, iPhone | In the plugin | This will set timeout for reading. Timeout smaller than 1s will not open reader dialog. |
"RFIDEPCStructure" | Zebra ZQ630 | In the plugin | Use this command to define the structure of EPC data, which can be read from or written to an RFID tag. For more information about EPC specifications, refer to the EPC Global web site. "n,p0,p1,p2, ..., p15" n = total bit size of the partitions(1 to n, where n is the bit size of the tag.) default n=96, p0 ... p15 = partition sizes(Specify the number of bits to include in the individual partitions. The partition sizes must add up to the bit size specified for the previous parameter. The largest individual partition size is 64 bits.) default pX=1 |
Note: Disconnecting the device will reset all settings in plugin to default.
Internal bitmapped fonts can be magnified from 1 to 10 times their normal (default) size. The magnification factor is in whole numbers. Therefore, if the normal size of a bitmapped font is 9 dots high and 5 dots wide, a magnification factor of 3 would produce a character of 27 dots high and 15 dots wide. Height and width can be magnified independently.
scalable font size have to be translated into a point size because scalable fonts are measured in point sizes, not dots. To determine how many dots to enter to obtain a particular point size, use the following formula. The actual point size will be an approximate value.
Scalable font size needs to be provided in dots, not points. So if you'd like the printer to print particular point size of text, you have to calculate the size in dots by converting the standard 72 dpi to the printer's actual printhead resolution.
(Point size) x (Dots per inch of Printer) Dots = ----------------------------------------- 72
The actual height and width of the character in dots will vary, depending on the font style and the particular character. Therefore, some characters will be smaller and some will be larger than the actual dot size requested. The baselines for all scalable fonts are calculated against the dot size of the cell. The baseline is 3/4 down from the top of the cell. For example, if the size of the cell is 80 dots, the baseline will be 60 dots (3/4) down from the top of the cell.
Beep Type | Beep Description | Supported on |
0 | Beep 1 time with high frequency short duration | Both |
1 | Beep 2 times with high frequency short duration | Both |
2 | Beep 3 times with high frequency short duration | Both |
3 | Beep 4 times with high frequency short duration | Both |
4 | Beep 5 times with high frequency short duration | Both |
5 | Beep 1 time with low frequency short duration | Both |
6 | Beep 2 times with low frequency short duration | Both |
7 | Beep 3 times with low frequency short duration | Both |
8 | Beep 4 times with low frequency short duration | Both |
9 | Beep 5 times with low frequency short duration | Both |
10 | Beep 1 time with high frequency long duration | Both |
11 | Beep 2 times with high frequency long duration | Both |
12 | Beep 3 times with high frequency long duration | Both |
13 | Beep 4 times with high frequency long duration | Both |
14 | Beep 5 times with high frequency long duration | Both |
15 | Beep 1 time with low frequency long duration | Both |
16 | Beep 2 times with low frequency long duration | Both |
17 | Beep 3 times with low frequency long duration | Both |
18 | Beep 4 times with low frequency long duration | Both |
19 | Beep 5 times with low frequency long duration | Both |
20 | Fast warble beep | Both |
21 | Slow warble beep | Both |
22 | High frequency beep then low frequency beep | Both |
23 | Low frequency beep then high frequency beep | Both |
24 | High freq. -> low freq. -> high freq. beeps | Both |
25 | Low freq. -> high freq. -> low freq. beeps | Both |
26 | High freq. -> high freq. -> low freq -> low freq. beeps | Only Zebra DS3678 |
By this function values or parameters can be set
Function returns 0 in case of success. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_Set( "inlineDocumentation" ; "on" ; "notImplemented" )
This command turns on inline documentation. inline documentation doesn't work on iOS
Gonector_Set( "deviceStripeKey" ; "LineaInfinea" ; "12345678123456781234567812345678" ; "00000000000000000000000000000000" )
This changes the stripe key in the Linea or Infinea device.
Gonector_Set( "connectionStripeKey" ; "LineaInfinea" ; "12345678123456781234567812345678" )
This sets the stripe key in the Linea or Infinea device.
Gonector_Set( "fontAlignment" ; "MYPrinterA_1" ; "center" )
This makes the device MYPrinterA_1 print the next text in the middle of the row.
Gonector_Set( "barcodeAlignment" ; "MYPrinterA_1" ; "center" )
Sets the barcode alignment to the center.
Gonector_Set( "barcode2dWidth" ; "MYPrinterA_1" ; 100 )
Sets the barcode width to 100.
Gonector_Set( "barcodeHeight" ; "MYPrinterA_1" ; 100 )
Sets the 1D barcode height to 100.
Gonector_Set( "barcodeHri" ; "MYPrinterA_1" ; "bottom" )
Sets the human readable interpretation of the barcode to the bottom.
Gonector_Set( "scaleReadCommand" ; "MIN-7943" ; "R" ) & ¶ & Gonector_Set( "scaleWeightPattern" ; "MIN-7943" ; "(ST|US),[^\s-]*([-]?[ ]*[\d\.]+)([\D]+)" )
Sets the basic configuration for the LESAK J1-RWP scale.
Gonector_Set( "scaleReadCommand" ; "MIN-7943" ; "P" ) & ¶ & Gonector_Set( "scaleWeightPattern" ; "MIN-7943" ; "[ ]*([-]?[\d\.]+)[ ]([^ ]+)[ ]?[ ]?([\?| ])?[ ]?([0-9]+\:[0-9]{2}\:[0-9]{2})?" )
Sets the basic configuration for the Traveler TA301 OHAUS scale.
Gonector_Set( "appDevKey" ; "LineaInfinea" ; "ebq5dcvCfzFPNToo1cbtojzhOv0Wp0RkDchRAuNx5gIOvoT7YRuR72HIssTSKqwdnN82P6luKKK5eRv2DeQp/ytyacxFa4bk1C/bQ=" )
Sets the developer key for LineaInfinea device.
Gonector_Set( "beep" ; "MYS350Reader_1ALR350" ; 500 )
This will cause device to beep for 500ms.
Gonector_Set( "led" ; "ZebraScanner" ; "Green" ; 500 )
This will cause device LED to turn on Green LED for 500ms.
Gonector_Set( "RFIDEPCStructure" ; "ZebraPrinter" ; "64,8,8,8,8,8,8,8,8" )
This will cause Zebra ZQ630 RFID to specify EPC structure that there are 64 bits used with eight 8-bit fields.
Gonector_Set( "RFIDEPCStructure" ; "ZebraPrinter" ; "96,10,26,60" )
This will cause Zebra ZQ630 RFID to specify EPC structure that there are 96 bits used with three fields. Fields 1, 2, and 3 contain 10, 26, and 60 bits, respectively.
Gonector_Set( "printableArea" ; "ZebraPrinter" ; "800¶400" )
This will cause Zebra ZQ630 RFID to set printableWidth to 800 and printableHeight to 400 dots.
Sends a text to print
deviceName | Unique name of the device |
text | Text to print Note: Supported printers only print ASCII character set |
printMode | This parameter is used to change different print modes |
x | This parameter specifies x coordinate(horizontal) of printing starting point(upper-left corner of text area). Every tag has coordinate system that uses dots(pixels). Point (0, 0) is located at upper left corner of the tag. You can calculate maximum width(or height) as [dpi of printer] * [width(or height) of tag in inches]. Default: 0. Only Zebra ZQ630 supported |
y | This parameter specifies y coordinate(vertical) of printing starting point(upper-left corner of text area). Default: 0. Only Zebra ZQ630 supported |
"buffer" | This printMode can be used to print various fonts in one line.
The printer will store the text in a buffer. Text is added to the buffer and currently set formatting is remembered along with it. If the text in the buffer contains line ending (¶) or if the text fulfils width of the printable line, it is automatically printed and the remaining part of the text will stay in the buffer. Combining multiple text alignments on one row is not possible. Overwriting of the line alignment for text in buffer is not possible. In case of Zebra ZQ630, this mode will allow to store in buffer raw commands, barcodes, texts and RFIDdata if we want to print them to one RFID tag. |
"immediate" | This printMode will automatically add line ending at the end of provided text which means that buffer (first) and the text (second) will be printed immediately. If buffer and text is empty printer will print empty line. In case of Zebra ZQ630, this mode will flush everything in buffer and print it on RFID tag. This is default printMode. |
This function uses a printer to print text. Various font settings can be changed using Gonector_Set function
Function returns 0 in case of success. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_PrintText( "MYPrinterA_1" ; "Hello!!!" )
This prints "Hello!!!" on the device MYPrinterA_1.
Gonector_PrintText( "dppPrinter" ; "Hello!!!" )
This prints "Hello!!!" on the device DPP-255.
Gonector_PrintText( "MYPrinterA_1" ; "Name: " ; "buffer" ) & ¶ &
Gonector_Set( "fontUnderline" ; "MYPrinterA_1" ; "on" ) & ¶ &
Gonector_PrintText( "MYPrinterA_1" ; "name@example.com" )
This prints "Name: name@example.com" on the device MYPrinterA_1.
Gonector_PrintText( "dppPrinter" ; "Name: " ; "buffer" ) & ¶ &
Gonector_Set( "fontUnderline" ; "dppPrinter" ; "on" ) & ¶ &
Gonector_PrintText( "dppPrinter" ; "name@example.com" )
This prints "Name: name@example.com" on the device DPP-255.
Gonector_PrintText( "ZebraPrinter" ; "Hello!!!" ; 150 ; 50 )
This prints "Hello!!!" on the device Zebra ZQ630. Upper-left corner of text field is located 150 dots horizontaly and 50 dots verticaly from upper-left corner of the tag.
Prints png or jpeg image from container. This function is not supported for Zebra printers. To print an image on a Zebra label printer, you can, encode them into ZPL and use Gonector_RawCommand to send the ZPL code to the printer.
deviceName | Unique name of the device |
imageContainer | The image container in FileMaker |
Note: Custom Printer prints transparent color as black.
This function uses a printer to print an image. Various font settings can be changed using Gonector_Set function
Function returns 0 in case of success. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_PrintImage( "MYPrinterA_1" ; table::container )
This prints an image on the device MYPrinterA_1.
Gonector_PrintImage( "dppPrinter" ; table::container )
This prints an image on the device LineaInfinea.
Prints a barcode
deviceName | Unique name of the device |
type | The type of code |
text | The text to be printed as a barcode. See specific barcode types below to see what type of character strings are supported. The text has to be valid for selected code type otherwise the code can be unreadable |
printMode | This parameter is used to change different print modes. Only Zebra ZQ630 supported |
x | This parameter specifies x coordinate(horizontal) of printing starting point(upper-left corner of barcode). Only Zebra ZQ630 supported |
y | This parameter specifies y coordinate(vertical) of printing starting point(upper-left corner of barcode). Only Zebra ZQ630 supported |
"buffer" | This printMode can be used to print various fonts in one line.
The printer will store the text in a buffer. Text is added to the buffer and currently set formatting is remembered along with it. If the text in the buffer contains line ending (¶) or if the text fulfils width of the printable line, it is automatically printed and the remaining part of the text will stay in the buffer. Combining multiple text alignments on one row is not possible. Overwriting of the line alignment for text in buffer is not possible. In case of Zebra ZQ630, this mode will allow to store in buffer raw commands, barcodes, texts and RFIDdata if we want to print them to one RFID tag. |
"immediate" | This printMode will automatically add line ending at the end of provided text which means that buffer (first) and the text (second) will be printed immediately. If buffer and text is empty printer will print empty line. In case of Zebra ZQ630, this mode will flush everything in buffer and print it on RFID tag. This is default printMode. |
This function uses a printer to print a barcode. Various settings can be changed using Gonector_Set function.
The printer nor plugin are checking the validity of barcodes.
Type of 1D code | Description and limitations |
---|---|
CODABAR | Supported characters are numbers (0-9), 4 letters (A,B,C,D) and few special characters (-$:/.+). The code must be valid including starting and ending letters. Supported on DPP-255 and Zebra ZQ630 The 14 digits barcode is supported on MY3 A printer. |
UPCA | 11 or 12 digits. Supplemental code is not supported. Code must be valid. In case the checkdigit is not known it is better to use only 11 digits. Supported on CustomPrinter and Zebra ZQ630 |
UPCE | 11 or 12 digits. The UPCA code must must be capable to be compressed into the UPCE code. Supplemental code is not supported. The printer prints a short version of UPCA code by trimming the padding zero's. Part of the UPCA codes are excluded if they overcome the padded amount in more categories. If checkdigit is not known then the printer will calculate the checkdigit automatically. Supported on CustomPrinter and Zebra ZQ630 |
EAN13 | 13 digits. Supplemental code is not supported. The code must be valid. Supported on CustomPrinter and Zebra ZQ630 |
EAN8 | 8 digits. The code must be valid. Supported on CustomPrinter and Zebra ZQ630 |
CODE39 | Upper case letters, numbers, some symbols, (A-Z, 0-9, space, $ % + - . /) Supported on CustomPrinter, Zebra ZQ630 and DPP-255 |
ITF | Up to 14 digits. The code must be valid. Supported on CustomPrinter. |
CODE93 | 43 basic symbols (0–9, A-Z, "-", ".", "$", "/", "+" and "%"). Supported on CustomPrinter and Zebra ZQ630 |
CODE128 | All ASCII characters. Preferred set is Code B. Code C is automatically switched on from 6 following digits to compress the barcode using high density mode. Any combination of characters is allowed. Supported on DPP-255 and Zebra ZQ630 |
CODE32 | 8 or 9 digits. "A" will be prepended automatically. If checkdigit is not known it is better to provide 8 digits only. In case of 7 digits a leading 0 digit must be used. Supported on CustomPrinter and Zebra ZQ630. |
Type of 2D code | Description and limitations |
---|---|
DATAMATRIX | All ASCII characters. Supports UTF-8 data stream Supported on CustomPrinter and Zebra ZQ630 |
PDF417 | All ASCII characters. Recommended minimum barcode2dWidth is 300 (px) Supported on CustomPrinter and Zebra ZQ630 |
MICROPDF417 | All ASCII characters. The code must be valid Supported on CustomPrinter and Zebra ZQ630 |
AZTEC | All ASCII characters. Supports UTF-8 data stream Supported on CustomPrinter and Zebra ZQ630 |
QRCODE | All ASCII characters. Supports UTF-8 data stream. Kanji is not supported. Supported on CustomPrinter, Zebra ZQ630 and DPP-255 |
Function returns 0 in case of success. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_PrintCode( "MYPrinterA_1" ; "04210000526" ; "UPCA" )
This prints UPCA barcode with HRI of "042100005264" on the device MYPrinterA_1.
Gonector_PrintCode( "MYPrinterA_1" ; "04210000526" ; "UPCE" )
This prints UPCE barcode with HRI of "425261" on the device MYPrinterA_1.
Gonector_PrintCode( "MYPrinterA_1" ; "Code 128" ; "CODE128" )
This prints CODE128 barcode with HRI of "Code 128" on the device MYPrinterA_1.
Gonector_PrintCode( "dppPrinter" ; "Code 128" ; "CODE128" )
This prints CODE128 barcode with HRI of "Code 128" on the device DPP-255.
Gonector_PrintCode( "MYPrinterA_1" ; "123456789" ; "CODE128" )
This prints CODE128 barcode with HRI of "123456789" on the device MYPrinterA_1.
Gonector_PrintCode( "MYPrinterA_1" ; "Hello World" ; "QRCODE" )
This prints QR code with content of "Hello World" on the device MYPrinterA_1.
Gonector_PrintCode( "dppPrinter" ; "Hello World" ; "QRCODE" )
This prints QR code with content of "Hello World" on the device DPP-255.
Writes and read data on RFID tag Only Zebra ZQ630 RFID supported
deviceName | Unique name of the device |
format | The format of data |
data | The data to be written to RFID tag. |
This function uses a printer to write a data to RFID tag to it's EPC bank. Please make sure to calibrate RFID printing with Gonector_Set("RFIDCalibration") before using Gonector_PrintRFID(). Standard UHF RFID Gen 2 tag has EPC bank(Bank 01) of size 96bits. Data are written from address 20h. This funcion also flushes whole buffer and prints on tag everything that was specified before(Gonector_PrintText and/or Gonector_PrintCode)
The printer nor plugin are checking the validity of data.
Format of RFID | Description |
---|---|
ASCII | Treat data as ASCII text, it's hexadecimal representation will be written on the tag. |
Hexadecimal | Treat data as Hexadecimal value. If the value is less than 12 bytes, there will be 0 concatenated. |
EPC | EPC - (ensure proper setup with the Gonector_Set("RFIDEPCStructure") command) |
In case of success the function returns data read from RFID tag after writing to it. If there were no data to write, it returns only data already present on the tag, but the format still needs to be specified. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_PrintRFID( "ZebraPrinter" ; "ASCII" ; "Sample text" )
This writes "Sample text" as ASCII text which results in writing "53616d706c65207465787400" to the RFID tag on device ZebraPrinter.
Gonector_PrintRFID( "ZebraPrinter" ; "Hexadecimal" ; "012ABC" )
This writes "012ABC000000000000000000" to the RFID tag on device ZebraPrinter
Gonector_Set( "RFIDEPCStructure" ; "ZebraPrinter" ; "96,8,8,16,64" ) & ¶ & Gonector_PrintRFID( "ZebraPrinter" ; "EPC" ; "5.4.11.123" )
This command specifies that there are 96 bits used with four fields. Fields 1, 2, 3 and 4 contain 8, 8, 16 and 64 bits, respectively. Then we encode tag with data. Field 1 contains 5, field 2 contains 4, field 3 contains 11 and field 4 123. Use "." as field separators for data.
This writes "0504000B000000000000007B" to the RFID tag. You have to know the EPC structure to be able to decode which field contains what data when you want to read EPC data from the tag.
In this case, first field is first 8 bits and it contains 5. Second field, also 8 bits, contains 4. Third field is 16 bits and contains 000B which is hexadecimal representation of 11. Last field is 64 bits and contains 000000000000007B which is hexadecimal representation of 123.
Tell the plugin to launch the script when specified event occurs
deviceName | Unique name of the device |
event | The event when the script should be triggered |
scriptName | The name of script which should be triggered. The script receives a parameter with data depending on the event |
memBank | Tag memory bank. Only for events: onTagAttach and onTagBatch. For skID and ALR-S350 only. If not defined reader will return only tags EPC. |
address | From what address to read tag. Only for events: onTagAttach and onTagBatch. For skID and ALR-S350 only. If not defined reader will return only tags EPC. |
lenght | How many bytes should be read. Only for events: onTagAttach and onTagBatch. For skID and ALR-S350 only. If not defined reader will return only tags EPC. |
event | Supported devices | Explanation | Script parameter |
"onTagAttach" | qIDmini, skID, ALR-S350 | Run the script when a tag approaches qIDmini sensor. Script is not called again if this tag stays in the sensor range, but it can be called multiple times if the tag leaves and enters the sensor range again. | JSON array containing one or more arrays that contains one or more objects, where each object has at least “deviceName”, “type”, and “data” properties e.g. [ { "deviceName": "000666D0252F", "type": "qIDminiTag", "data": "123456" } ] |
"onTagDetach | qIDmini, skID, ALR-S350 | Run the script when the qIDmini sensor loses the connection with a tag | JSON array containing one or more arrays that contains one or more objects, where each object has at least “deviceName”, “type”, and “data” properties e.g. [ { "deviceName": "000666D0252F", "type": "qIDminiTag", "data": "123456" } ] |
"onTagBatch" | ALR-S350 | After setting this event. When you push the ALR-S350 button it will start scanning for tags, when you push the button second time, scanning will stop and script will run with parameter containing all tags read. | JSON array containing one or more arrays that contains one or more objects, where each object has at least “deviceName”, “type”, and “data” properties e.g. [ { "deviceName": "EXA51 K180200388", "type": "tag", "data": "123456" } ] |
"onCardRead" | Linea and Infinea | Run the script when a card approaches Linea or Infinea RFID sensor | JSON array containing one or more arrays that contains one or more objects, where each object has at least “deviceName”, “type”, and “data” or "base64Data" properties e.g. [ { "language": "en", "type": "ndefText", "data": "Hello", "deviceName": "LineaInfinea" }, { "language": "cs", "type": "ndefText", "data": "Vítejte", "deviceName": "LineaInfinea" } ] or [ { "deviceName": "LineaInfinea", "type": "image/jpeg", "base64Data": "SGVsbG8=" } ] |
"onStripeRead" | Linea and Infinea | Run the script when a card approaches Linea or Infinea magnetic card reader.To successfully read the magnetic stripe, the stripe key must be set | JSON array containing one or more arrays that contains one or more objects, where each object has at least “deviceName”, “type”, and “data” properties e.g. [ { "deviceName": "LineaInfinea", "type": "stripe", "data": "cardholderName¶cardholderFirstName¶cardholderLastName¶accountNumber¶serviceCode¶discretionaryData¶expirationMonth¶expirationYear" } ] |
"onBarcodeRead" | Linea and Infinea, ALR-S350, Zebra CS4070, Zebra DS3678 | Run the script when a barcode is just scanned | JSON array containing one or more arrays that contains one or more objects, where each object has at least “deviceName”, “type”, and “data” properties e.g. [ { "deviceName": "LineaInfinea", "type": "barcode", "barcodeType": "CODE128", "data": "Hello 1d code" } ] |
"onDataReceived" | BlueSnap Smart adapter | Run the script when BlueSnap Smart receives data with CRLF teminator from the RS232 connected device | JSON array containing one or more arrays that contains one or more objects, where each object has at least “deviceName”, “type”, and “data” properties e.g. [ { "deviceName": "MIN-0982", "type": "rawData", "data": "ERROR 2" } ] |
"onWeightReceived" | BlueSnap Smart adapter | Run the script when BlueSnap Smart receives data with CRLF teminator from the RS232 connected device
and successfully evaluates Regex provided via Gonector_Set with selector "scaleWeightPattern" This event has a priority over "onDataReceived" | JSON array containing one or more arrays that contains one or more objects, where each object has at least “deviceName”, “type”, and “data” properties e.g. [ { "deviceName": "MIN-0982", "type": "weight", "data": "0.05¶g" } ] |
"onTerminalMessage" | Ingenico terminals | Run the script when a terminal sends a message | JSON array containing one object that contains "deviceName", "type" and "base64Data" or "base64Data" and "data" properties e.g. [ { "deviceName": "Link/2500-163637313071041701279653", "type": "terminalMessage", "base64Data": "", "data": "" } ] |
"onTransactionEnd" | Ingenico terminals | Run the script when a transaction reply arrived from a terminal | JSON array containing one object e.g.
[
[ {
"deviceName": "Link/2500-163637313071041701279653",
"type": "transactionDidEndWithTimeoutFlag",
"replyReceived": true,
"posNumber": 123,
"operationStatus": true,
"Amount": 500,
"Currency": "203",
"data": "Data converted into string if possible",
"base64Data": "Extra data returned"
} ]
] Note: operationStatus is set to true in case the received value is 0. Most banks require to check whether replyReceived and operationStatus are both true |
"onSignaturePrompt" | Ingenico terminals | Run the script when a transaction requires a signature. Use Gonector_Submit( "signature" ; ... ) to submit signature to the terminal | JSON array containing one object that contains "deviceName", "type", "screenWidth", "screenHeight" and "userSignTimeout" properties e.g. [ { "deviceName": "Link/2500-163637313071041701279653", "type": "shouldDoSignatureCapture", "screenWidth": 60, "screenHeight": 40, "userSignTimeout": 10 } ] |
"onSignatureTimeout" | Ingenico terminals | Run a script when the signature was not captured on time | JSON array containing one object that contains "deviceName" and "type" properties e.g. [ { "deviceName": "Link/2500-163637313071041701279653", "type": "signatureTimeoutExceeded" } ] |
"onReceiptText" | Ingenico terminals | Run the script when an order to print a receipt arrived from a terminal | JSON array containing one object e.g.
[
[{
"deviceName": "Link/2500-163637313071041701279653",
"type": "shouldPrintText",
"data": "RECEIPT",
"fontName": "",
"fontFamily": "",
"alignment": "left",
"xScaling": 1,
"yScaling": 1,
"underline": false,
"bold": false
}]
] Alignment: "left", "center", "right", "justified" (Fully-justified. The last line in a paragraph is natural-aligned) and "natural" (Indicates the default alignment for script) |
"onReceiptImage" | Ingenico terminals | Run the script when an order to print a receipt arrived from a terminal | JSON array containing one object e.g. [ [{ "deviceName": "Link/2500-163637313071041701279653", "type": "shouldPrintImage", "imageType": "image/png", "base64Data": "Base64 encoded image" }] ] |
"onReceiptFeedPaper" | Ingenico terminals | Run the script when an order to print a receipt arrived from a terminal | JSON array containing one object e.g. [ [{ "deviceName": "Link/2500-163637313071041701279653", "type": "shouldFeedPaperWithLines", "lines": 2 }] ] |
"onReceiptCutPaper" | Ingenico terminals | Run the script when an order to print a receipt arrived from a terminal | JSON array containing one object e.g.
[
[{
"deviceName": "Link/2500-163637313071041701279653",
"type": "shouldCutPaper"
}]
] This is the last callback of the receipt |
"onReceiptStart" | Ingenico terminals | Run the script when an order to print a receipt arrived from a terminal | JSON array containing one object e.g. [ [{ "deviceName": "Link/2500-163637313071041701279653", "type": "shouldStartReceipt" "receiptType": 0 }] ] |
"onReceiptEnd" | Ingenico terminals | Run the script when an order to print a receipt arrived from a terminal | JSON array containing one object e.g. [ [{ "deviceName": "Link/2500-163637313071041701279653", "type": "shouldEndReceipt" }] ] |
"onReceiptAddSignature" | Ingenico terminals | Run the script when an order to print a receipt arrived from a terminal | JSON array containing one object e.g. [ [{ "deviceName": "Link/2500-163637313071041701279653", "type": "shouldAddSignature" }] ] |
"onProgrammableButtonPressed" | Infinea X | Run the script when programmable button on Infinea X is pressed | JSON array containing one object e.g. [ [{ "deviceName": "Infinia X", "type": "progammableButtonPressed" }] ] |
Some scales (such as tested LESAK J1-RWP) have to be manually configured to enable this feature.
Plugin calls the script on the first occasion when the FileMaker enters "idle" state. Increase speed of event callbacks the plugin can also call itself through an URL. To setup this please check following guide.
The plugin has a buffer of one event per category and device. In case the device sends more data then the operation system can handle into the same category the incoming data is deleted. As soon as the queue is emptied by the script performer the next incoming data is stored for an event again.
For every event the deviceName will be sent back as a first script parameter "MIN-7943¶".
Function returns 0 in case of success. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_SetScriptEvent( "000666D0252F" ; "onTagAttach" ; "My FileMaker Script" )
FileMaker script "My FileMaker Script" is called every time a tag approaches RFID sensor.
You can get the ID of the tag by using FileMaker function Get(ScriptParameter) in the script.
Gonector_SetScriptEvent( "LineaInfinea" ; event ; "" )
This removes an event.
Gonector_SetScriptEvent( "LineaInfinea" ; "" ; "" )
This removes all events.
Gonector_SetScriptEvent( "MIN-7943" ; "onDataReceived" ; "myScript" )
This installs an event to call the script myScript with data events.
Gonector_SetScriptEvent( "MIN-7943" ; "onWeightReceived" ; "myScript" )
This installs an event to call the script myScript with weight events.
Gonector_SetScriptEvent( "LineaInfinea" ; "onProgrammableButtonPressed" ; "myScript" )
FileMaker script "myScript" is called every time a programmable button is pressed.
Reads data from a device.
deviceName | Unique name of the device | |
selector | Used to specify the request | |
options | Additional selector for some requests. Check possible values for options to see supported devices. | |
extra | For Infinea mPos only, enter total amount (in cents e.g.: 5.00 has to be entered as 500) | |
memBank | Tag memory bank. For skID and ALR-S350 only. | |
address | From what address to read tag. For skID and ALR-S350 only. | |
lenght | How many bytes should be read. For skID and ALR-S350 only. | |
tagID | Defines tag from which memory will be read. If ommited, memory will be read from all available tags. |
Selector | Supported device | Description |
"single" | qIDmini/skID gIDScale iPhone LineaInfinea mPosInfinea ALR-S350 Zebra CS4070 Zebra DS3678 | Read dialog will be shown for iPhone and Linea or Infinea device. This dialog closes after one item read. This is the defaultNote: Read dialog for iPhone will close after 60 seconds of inactivity and return all read cards |
"multiple" | qIDmini/skID gIDiPhone LineaInfinea mPosInfinea ALR-S350 Zebra CS4070 Zebra DS3678 | Read dialog will be shown for iPhone and Linea or Infinea device.This dialog closes when "Done" button is hitNote: Read dialog for iPhone will close after 60 seconds of inactivity and return all read cards |
"unique" | qIDmini/skID gIDiPhone LineaInfinea mPosInfinea ALR-S350 Zebra CS4070 Zebra DS3678 | Read dialog will be shown for iPhone and Linea or Infinea device.This dialog closes when "Done" button is hit. The plugin guarantees that no value will be returned twiceNote: Read dialog for iPhone will close after 60 seconds of inactivity and return all read cards |
"last" | qIDmini/skID gIDScale iPhone LineaInfinea (barcodes, RFID cards, magnetic stripes) mPosInfinea ALR-S350 Zebra CS4070 Zebra DS3678 | Returns the last value received from the device Data from magnetic stripe is only kept for 10 seconds to match the PCI compliance |
Some scales (such as tested LESAK J1-RWP) have to be manually configured to enable this function.
Options | Supported device | Description |
"stripe" | LineaInfinea mPosInfinea | Reads a magnetic stripe. To successfully read the magnetic stripe, a stripe key must be set |
"rfidCard" | LineaInfinea ALR-S350 skID qIDmini | Reads an RFID card |
"barcode" | LineaInfinea mPosInfinea ALR-S350 Zebra CS4070 Zebra DS3678 | Reads a barcode |
"smartCard" | mPosInfinea | Reads a smart card. This option can be used only with selector "single". |
"tagSpecific" | iPhone | Reads MiFare, FeliCa, ISO15693 or ISO7816 tags on iPhone. |
Plugin sends a request to one of the supported devices to respond with data.
Function returns JSON string if everything is OK. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
The JSON string contains an array of items read (cards, tags…). The items are wrapped in arrays which contain one or more objects. Each object represents one chunk of items data (e.g. in case of localised rfid cards one object would be for data in English and another object for data in German). Each object has at least “type” and “data” or “base64Data” properties.
skID and ALR-S350 also contain object RSSI (Received signal strength indicator):
Gonector_Read( "qIDmini R1170" ; "multiple" ; "rfidCard" )
This returns a JSON string such as [ {
"type": "qIDminiTag",
"data": "123456"
},
{
"type": "qIDminiTag",
"data": "654321"
}
] or "?" in case of an error.
Gonector_Read( "skID" ; "multiple" ; "rfidCard" ; 3 ; 0 ; 6 )
This returns a JSON string such as [ {
"type": "skIDTag",
"data": "123456",
"tagID": "0"
"membank":"3",
"address": "0",
"length": "6"
RSSI": "-101"
},
{
"type": "skIDTag",
"data": "654321"
"tagID": "1"
"membank":"3",
"address": "0",
"length": "6"
RSSI": "-99"
}
] or "?" in case of an error.
Gonector_Read( "MYS350Reader_1ALR350" ; "multiple" ; "rfidCard" ; 3 ; 0 ; 6 )
This returns a JSON string such as [ {
"type": "alienTag",
"data": "123456",
"tagID": "0"
"membank":"3",
"address": "0",
"length": "6"
"scaledRssi" : 50
},
{
"type": "alienTag",
"data": "654321"
"tagID": "1"
"membank":"3",
"address": "0",
"length": "6"
"RSSI": 15
}
] or "?" in case of an error. RSSI is number between 0 - 100 and represents relative strenght of the signal.
Gonector_Read( "MIN-7943" )
This returns a JSON string such as [ {
"type": "weight",
"data": "0.05¶g"
} ] or [ {
"type": "rawData",
"data": "ERROR 2"
} ] or "?" in case of an error.
Gonector_Read( "LineaInfinea" ; "single" ; "stripe" )
This returns a JSON string such as [ {
"type": "stripe",
"data": "cardholderName¶cardholderFirstName¶cardholderLastName¶accountNumber¶serviceCode¶discretionaryData¶expirationMonth¶expirationYear"
} ] or "?" in case of an error.
Gonector_Read( "LineaInfinea" ; "last" ; "rfidCard" )
This returns a JSON string such as [
{
"language": "en",
"type": "ndefText",
"data": "Hello",
"deviceName": "LineaInfinea"
},
{
"language": "cs",
"type": "ndefText",
"data": "Vítejte",
"deviceName": "LineaInfinea"
}
], [
{
"type": "image/jpeg",
"base64Data": "SGVsbG8="
}
] or "?" in case of an error.
Gonector_Read( "LineaInfinea" ; "unique" ; "barcode" )
This returns a JSON string such as [ { "deviceName": "deviceName", "type": "barcode", "barcodeType": "CODE128", "data": "Hello 1d code" }, { "deviceName": "deviceName", "type": "barcode", "barcodeType": "QRCODE", "data": "Hello 2d code" } ] or "?" in case of an error.
Gonector_Read( "iPhone" )
This returns a JSON string such as [ {
"type": "text/plain",
"data": "Hello"
} ] or "?" in case of an error.
Gonector_Read("mPosInfinea" ; "single" ; "smartCard" ; "5000")
This reads the smart card chip and returns the JSON string with the data from the chip. Terminal might ask for PIN code.
Gonector_Read("Zebra CS4070" ; "single" ; "barcode")
This returns a JSON string such as [ { "deviceName": "Zebra CS4070", "type": "barcode", "barcodeType": "QRCODE", "data": "Hello 1d code" } ] or "?" in case of an error.
Gonector_Read("ALR-S350" ; "single" ; "barcode")
This returns a JSON string such as [ { "deviceName": "ALR-S350", "type": "barcode", "barcodeType": "QRCODE", "data": "Hello 1d code" } ] or "?" in case of an error.
Writes data to the device.
deviceName | Unique name of the device |
options | Specific options |
value | The value to be written |
cardLocking | Can be "lock" or empty string. In case of "lock" read/write card will be locked and cannot be rewritten in the future. Default value is "". This is a one way process. Locked card cannot be unlocked |
tagID | Defines tag to which memory will be written. If ommited, memory will be written to all available tags. |
memBank | Tag memory bank |
address | Address from where to write data |
length | Length of the data written |
Options | Supported device | Description |
"rawData" | LineaInfinea, skID, ALR-S350, qIDmini | Writes raw data onto the card. Write dialog will be shown |
"ndefText" | LineaInfinea and iPhone | Writes an NDEF message formatted as a Well Known text to the NFC card. Write dialog will be shown |
"ndefUri" | LineaInfinea and iPhone | Writes an NDEF message formatted as a Well Known URI to the NFC card according to the RTD. Write dialog will be shown |
"ndefMime" | LineaInfinea and iPhone | Writes an NDEF message formatted as a MIME data to the NFC card. Images and other data based MIME types should be passed as container. Write dialog will be shown |
"ndefMultiple" | iPhone | Writes multiple NDEF messages. Works only on iPhone. Parameter "value" has to be JSON see more in Writing multiple records from iPhone section. Write dialog will be shown |
"iso15693" | iPhone | Writes data to ISO15693 tag. Write dialog will be shown |
"iso7816" | iPhone | Writes data to iso7816 tag. Write dialog will be shown |
"felica" | iPhone | Writes data to FeliCa tag. Write dialog will be shown |
"mifare" | iPhone | Writes data to MiFare tag. Write dialog will be shown |
"terminalMessage" | Ingenico terminals | Writes a message to the terminal. Catch replies with Gonector_SetScriptEvent |
Example: Gonector_Write("iPhone" ; "ndefMultiple" ; "[{"type": "ndefText", "value": "text to write"}, {"type": "ndefUri", "value": "https://24usoftware.com"}, {"type": "ndefMime", "value": "dGVzdA==", "mime_type": "text\/plain"}]" This will write 3 NDef messages to the tag.
Plugin writes data through the selected device. In case of NDEF format, the card is formatted so that it is iPhone 7+ readable. The card will be completely rewritten.
Function returns 0. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_Write( "LineaInfinea" ; "ndefUri" ; "https://www.24usoftware.com")
This writes an NDEF message as a URI to the present NFC card through the Linea or Infinea device.
Gonector_Write( "LineaInfinea" ; "ndefMime" ; test::container )
This writes an NDEF message as a MIME to the present NFC card through the Linea or Infinea device.
Gonector_Write( "LineaInfinea" ; "ndefText" ; "Hello World" ; "lock")
This writes an NDEF message as a Text to the present NFC card through the Linea or Infinea device and lock it.
Gonector_Write( "skID" ; "rawData" ; "Hello World" ; "" ; "1" ; 3 ; 0 ; 11)
This writes "Hello World" to user memory bank from addres 0 on RFID card.
Gonector_Write( "MYS350Reader_1ALR350" ; "rawData" ; "Hello World" ; "" ; "1" ; 3 ; 0 ; 11)
This writes "Hello World" to user memory bank from addres 0 on RFID card.
Gonector_Write( "iPhone" ; "ndefText" ; "Hello World" )
This writes an NDEF message as a Text to the present NFC card through the iPhone.
Gonector_Write( "iPhone" ; "iso15693" ; "Hello World" )
This writes data to ISO15693 tag through the iPhone.
Gonector_Write( "iPhone" ; "iso7816" ; "Hello World" )
This writes data to ISO7816 tag through the iPhone.
Gonector_Write( "iPhone" ; "felica" ; "Hello World" )
This writes data to FeliCa tag through the iPhone.
Gonector_Write( "iPhone" ; "mifare" ; "Hello World" )
This writes data to MiFare tag through the iPhone.
Sends raw data to the BlueSnap Smart or Zebra ZQ630 device
deviceName | Unique name of the device |
value | String of the data to be sent |
option | Adds various options to raw command |
"buffer" | This option can be used to store multiple raw commands in buffer.
Supported only on Zebra ZQ630, this option will allow to store in buffer raw commands, barcodes, texts and RFIDdata if we want to print them to one RFID tag. |
This function is used to send raw data to the scale. See the scale's manual to see what kind of messages the scale supports.
In case of Zebra ZQ630, this function is used to send raw ZPL commands to the printer. See printer's manual for more info.
Function returns 0. In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_RawCommand( "MIN-7943" ; "R" )
This command sends RawCommand "R" to the BlueSnap Smart device
Gonector_RawCommand( "ZQ630" ; "^XA^FO50,50^A0N,40^FDSimple write example^FS^XZ" )
This command sends RawCommand to ZebraPrinter that will print "Simple write example" on position (50, 50) and size 40
Processes a transaction
deviceName | Unique name of the device |
posNumber | POS Number |
amount | Amount of the transaction. 500 means 5.00 with the ČSOB Link/2500 |
transactionType | Transaction Type ( Debit = "0", Credit = "1", Annulation = "2", Duplicata = "3" ). It can also be something else depending on the agreement with the provider (bank) |
currency | The currency code in ISO4217 format. E.g. "978" for EUR |
applicationNumber | The number of the terminal application that should be invoked to handle the transaction. If this parameter is set to 0, the payment application will be implicitly selected |
authorization | Authorization flag: force or not the application to do an online authorization call. Pass a "0", "1" or "2". "0" is no authorization. You can obtain the correct value from your provider (bank). The tested Link/2500 ČSOB version was functional with "0"> |
extendedData | Certain banks require extended data to be sent. Pass a TLV encoded container or text string. Use function Gonector_Prepare to prepare string into TLV data if needed |
privateData | Application specific data to be passed to payment application. Max size 10 bytes |
This function is used to process a transaction.
This function returns always a 0. Use Gonector_SetScriptEvent to receive the reply.
Gonector_DoTransaction( "Link/2500-163637313071041701279653" ; "1" ; "500" ; "0" ; "203" ; 0 ; 0 ; "INVOICENUM=0" )
This function call issues a command to the terminal to make a payment of 5,00 CZK on the ČSOB version of Ingenico Link/2500.
Submits a request
deviceName | Unique name of the device |
selector | Selects an action type |
value | The value to be submitted |
Options | Supported device | Description |
"signature" | Ingenico terminals | Value must be a container containing an image. Use function Gonector_Prepare to resize the image into the height and width received through Gonector_SetScriptEvent |
This function is used to submit a request typically received through Gonector_SetScriptEvent.
Function returns 0 in case of success. In case of error the function returns "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_Submit( "Link/2500-163637313071041701279653" ; "signature" ; test::signature )
This submits a signature from container test::signature.
This function helps to prepare data for specific tasks needed by other functions such as Write("terminalMessage") and Submit("signature")
deviceName | Unique name of the device |
selector | Selects a type of preparation |
item | The item to be prepared |
Options | Supported device | Description |
"imageResize" | Ingenico terminals | Item must be a container containing an image. Pass width as a parameter1 and height as parameter2 |
"tlvEncode" | Ingenico terminals | Takes a type as a parameter1 and returns a JSON with TLV encoded Base64 data. Only one byte type/tag is supported. Constructed TLV is not supported |
"tlvDecode" | Ingenico terminals | Takes a container with TLV encoded data and returns a JSON with data and type representing the TLV extracted data based on X.690 |
This function is used to prepare data.
Function returns a modified value based on the selector.
In case the result is a string it is passed as "data". In case the result is binary then the actual result is passed as "base64Data". The result format is a JSON string such as this:
[ {
"deviceName": "",
"type": "",
"base64Data": "Data returned",
"data": "Data returned"
} ]
In case of error the function will return "?". Use Gonector_Get( "lastError" ) to get the specific error code.
Gonector_Prepare( "Link/2500-163637313071041701279653" ; "imageResize" ; test::signature ; 40 ; 20 )
This prepares a signature from container test::signature and returns a JSON with base64Data containing the resized image.
Gonector_Prepare( "Link/2500-163637313071041701279653" ; "tlvEncode" ; "INVOICENUM=0" ; 12 )
This prepares text INVOICENUM=0 as a UTF-8 String type conforming to the X.690 standard.
Use Gonector_Get( "lastErrorMessage" ) to get the specific error message
0 | No error | All requested actions were successful |
-4 | Feature not implemented | The requested feature is not implemented |
-10 | RawCommand failed | Could not send data to device |
-11 | Scale is not configured | Scale is not configured, please use Gonector_Set with "scaleReadCommand" and "scaleWeightPattern" selectors to configure scale |
-12 | Invalid regex | Provided pattern is not regex |
-13 | Scale is in config mode | Scale is in configuration mode, please finish your configuration before using device. |
-20 | CUTTER ERROR | Printer specific error, please refer to device manual for more informations |
-21 | EEPROM ERROR | Printer specific error, please refer to device manual for more informations |
-22 | FFPRESSED | Printer specific error, please refer to device manual for more informations |
-23 | OVERVOLTAGE | Printer specific error, please refer to device manual for more informations |
-24 | LFPRESSED | Printer specific error, please refer to device manual for more informations |
-25 | NEAR PAPER END | Printer specific error, please refer to device manual for more informations |
-26 | HEAD UP | Printer specific error, please refer to device manual for more informations |
-27 | COVER OPEN | Printer specific error, please refer to device manual for more informations |
-28 | NO PAPER | Printer specific error, please refer to device manual for more informations |
-29 | OVERTEMPERATURE | Printer specific error, please refer to device manual for more informations |
-30 | PAPER JAM | Printer specific error, please refer to device manual for more informations |
-31 | PAPER ROLLING | Printer specific error, please refer to device manual for more informations |
-32 | RAM ERROR | Printer specific error, please refer to device manual for more informations |
-33 | SPOOLING | Printer specific error, please refer to device manual for more informations |
-34 | TICKET OUT | Printer specific error, please refer to device manual for more informations |
-35 | Invalid character in text | Text contains characters outside supported Extended ASCII character set |
-36 | Printer error | Printer indicates that the printing command failed. Use Gonector_Get( "lastErrorMessage" ) to get the specific error message |
-37 | Printer status error | Printer indicates that it is not able to function properly. Use Gonector_Get( "lastErrorMessage" ) to get the specific error message |
-40 | Linea Infinea Error | Indicates an error on the Linea or Infinea device. Use Gonector_Get( "lastErrorMessage" ) to get the specific error message |
-50 | Wrong parameters | Plugin was called with wrong parameters |
-51 | Device not connected | The device is not connected |
-52 | Device already connected | The device is already connected |
-53 | Device not supported | Selected device is not supported |
-54 | Operation timeout | Last funcion timeout, please check device and try again later |
-55 | Invalid device type | Provided device type is not supported |
-56 | Invalid device name | Could not find device with provided name, use Gonector_Set with "devices" selector to get available devices |
-57 | Invalid read mode | Provided read mode is not supported |
-58 | Invalid read type | Provided read type is not supported |
-59 | Invalid print type | Provided print mode is not supported |
-60 | Firmware version not available | Could not get firmware version |
-61 | Software version not available | Could not get software version |
-70 | Ingenico device error | Indicates an error on an Ingenico device. Use Gonector_Get( "lastErrorMessage" ) to get the specific error message |
-80 | Unknown error | Use Gonector_Get( "lastErrorMessage" ) to get the specific error message |
24001 | Demo mode expired | If you want to keep using the plugin, you must register it or buy it for particular environment |
24002 | Product expired | Trial period is over. If you want to keep using the product, you must buy it for particular environment |
24003 | SN limit was met | The serial number is already registered on too many computers |
24004 | Product is dead | The product expired and cannot be used any more. Please download the new version from 24U Software |
24005 | Invalid serial number | Serial number you entered is not valid |
24006 | Activation failed | Activation failed probably due to some network error. Please, check your connection to the internet and try again later |
24007 | Deactivation failed | Deactivation failed probably due to some network error. Please, check your connection to the internet and try again later |
24008 | Unknown serial number | The given serial number cannot be used for the current product. It has been stored so that other product can try to use it |
24009 | Blacklisted serial number | The given serial number has been blacklisted and cannot be used anymore. Please, contact 24U Support if you need more information |