Aller au contenu

DB Services

Membres
  • Compteur de contenus

    81
  • Inscription

  • Dernière visite

    jamais
  1. FileMaker EDI Integration

    FileMaker EDI Integration Electronic data interchange (EDI) is used by businesses to electronically exchange standard business documents. EDI standards help reduce cost of processing email or mail-in orders and can speed up business by simplifying communication between two companies. Amazon, Walmart and many other companies use established EDI standards to process their orders securely. Supply Chain Insights published a study showing that 55% of customer orders are received via EDI, placing EDI on the #1 spot of multi-party business exchanges. Integrating EDI with your FileMaker solution can automate your order processing and allow you to connect to large retail partners using this technology.  EDI Standards Handling EDI can be tricky when there’s multiple standards in play and with retailers having different sets of fields they require in order to process requests. EDI platforms like SPS Commerce can help you figure out the required fields for a particular document and industry, and translate a simpler XML format provided by the platform to the actual standard’s format. To illustrate how complex a standard’s format can be, and why platforms like SPS Commerce provide XML versions of these complex formats, below is an example of a purchase order written in EDIFACT EDI standard. UNB+UNOA:1+US::US+50138::THEM+140531:0305+001934++ORDERS' UNH+1+ORDERS:91:2:UN' BGM+220+A761902+4:20140530:102+9' RFF+CT:EUA01349' RFF+AAV::C' TXT+THIS IS WHAT AN EDI MESSAGE WOULD LOOK LIKE... ' NAD+BY++OUR NAME PLC::::+++++EW4 34J' CTA+PD' COM+01752 253939:TE+01752 253939:FX+0:TL' CTA+OC+:A.SURNAME' COM+2407:EX' CTA+TI+:B.BROWN' COM+0:EX' CTA+SU' COM+0161 4297476:TE+01752 670633:FX' UNT+15+1' UNZ+1+001934' And below a purchase order document like above but written in XML format: <PurchaseOrders> <PO> <ID>123</ID> <date>4/3/2018</date> <customer>DB Services</customer> <firstName>Gayoung</firstName> <lastName>Moon</lastName> <email>gmoon@dbservices.com</email> <item>Sunglasses</item> <price>200</price> <quantity>1</quantity> </PO> <PO> <ID>234</ID> <date>4/4/2018</date> <customer>DB Services</customer> <firstName>Test</firstName> <lastName>Customer</lastName> <email>gmoon@dbservices.com</email> <item>Desk</item> <price>400</price> <quantity>3</quantity> </PO> </PurchaseOrders> Not only is the XML version easier to read and follow, it’s much easy to program, especially considering that one EDI document can have thousands of possible fields to pick from, as EDI is used across almost every industry. General Approach to EDI Integration as a Vendor EDI platforms like SPS will require that you read or write XML files from an FTP server they provide. In the case of handling purchase orders from a retailer like Target, your FileMaker system will need to periodically scrape the FTP server’s purchase orders folder for all new PO documents, import them into your FileMaker system, and delete them from the folder. Then you will parse each PO XML document in FileMaker and create or update purchase orders in your database. For example, you could use the xmlGetElement function from the demo file to parse the purchase order XML. Set Variable [ $ID ; Value: xmlGetElement ( $eachPO ; "ID" ) ] Set Variable [ $date ; Value: xmlGetElement ( $eachPO ; "date" ) ] Set Variable [ $customer ; Value: xmlGetElement ( $eachPO ; "customer" ) ] If your retailer requires it, you will also create an purchase order acknowledgement notice XML file and upload it to the FTP server in a different folder. The insert from URL cURL options would look something like this: "--user " & $user & ":" & $pwd & " --ftp-ssl" & " --upload-file $xmlfile --header \"Content-type: application/xml\"" As your employees process new purchase orders, statuses of each purchase order will change and your FileMaker system will need to create another type of EDI XML document with all active purchase order status and shipping information. This document will then be uploaded to the corresponding location on the FTP server. In addition some retailers require frequent updates on your inventory levels, which is another type of EDI document, called an inventory query document, that you will need to create create and upload to the FTPS server. Check out the demo file below to see simple EDI examples. The file uses the native FileMaker Insert from URL script step to connect to FTP and BaseElements plugin to parse XML documents. Conclusion If you want to work with retailer giants like Walmart, Target, etc, you will be required to process orders using EDI. And handling orders this way can allow your company to work on them real time and cut down on time spent manually communicating your inventory and order status. Contact us if you need help with integrating your FileMaker system with an EDI platform. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download FileMaker EDI Integration Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Deployment Assistance?Please contact us to assist integrating into your FileMaker Database. Yes Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  2. FileMaker HubSpot Integration

    FileMaker HubSpot Integration HubSpot is an online marketing and sales tool that helps convert leads and close customers. HubSpot reported that total revenue was $375.6 million in 2017, up 39% compared to 2016. Many companies with both HubSpot and FileMaker find themselves ending up having to do double data entry from one system to the next. We will demonstrate how you can eliminate the hassle of manually copying the information by integrating your FileMaker solution with HubSpot. Creating a Free HubSpot Developer Account The first step of this integration is to create a HubSpot developer account. Once you have an account, you will then need to create a new public HubSpot application. Under the application details, at a minimum for our example you will need to check the Basic OAuth functionality and Contacts options. Those will allow you to use the OAuth authentication and interact with the end user’s HubSpot Contacts. Also, copy the Client ID and Client Secret from the application. You will need this information later. Authenticating with HubSpot Using OAuth 2.0 Once you have your API information, you will need to authenticate your solution with the HubSpot API. For any questions regarding how requests should be built, please reference the HubSpot API Documentation. To authenticate your solution, place the user into a web viewer at the API authentication screen. This will prompt the user to log in with their own credentials and choose the account to allow your solution to make the connection. Once they have agreed, they will be sent to the address specified in your Redirect URI that was passed in the authentication request. When the user is redirected to the new address, the address will now have a URL Encoded parameter, which will be the code needed for the next step. Set Variable [ $code ; Value: "https://dbservices.com/?code=058baec5-cfd7-42ae-b3ea-c0683fa4b6b5" ] Once you have extracted the code, you will use the code provided, along with your ID and secret to get your access token which will be used to make any API requests. Making Requests and Parsing the Response Many of the HubSpot API requests require additional parameters. The Create Company request, for example, is a POST request which requires additional fields like the company, description, and many other optional settings for the company. These fields will need to be JSON-encoded text, passed as the parameter. Set Variable [ $cURL ; Value: "-X POST --header \"authorization: Bearer --header \"accept: application/json\" --header \"content-type: application/json\" --data @$data" ] Insert from URL [ Select ; With Dialog: Off ; $result ; "https://api.hubapi.com/companies/v2/companies" ; $cURL ; Do not automatically encode URL ] Once a successful request has been made, a JSON encoded response will returned. You will then be able to use the function JSONGetElement () to pull any information out of the response that you wish. { "additionalDomains" : [], "companyId" : 725558396, "isDeleted" : false, "mergeAudits" : [], "portalId" : 4332469, "properties" : { "createdate" : { "source" : "API", "sourceId" : "API", "timestamp" : 1520270442248, "value" : "1520270442248", "versions" : [ { "name" : "createdate", "source" : "API", "sourceId" : "API", "sourceVid" : [], "timestamp" : 1520270442248, "value" : "1520270442248" } ] }, "description" : { "source" : "API", "sourceId" : null, "timestamp" : 1520270442248, "value" : "Database Services", "versions" : [ { "name" : "description", "source" : "API", "sourceVid" : [], "timestamp" : 1520270442248, "value" : "Database Services" } ] }, "hs_lastmodifieddate" : { "source" : "CALCULATED", "sourceId" : null, "timestamp" : 1520270442248, "value" : "1520270442248", "versions" : [ { "name" : "hs_lastmodifieddate", "source" : "CALCULATED", "sourceVid" : [], "timestamp" : 1520270442248, "value" : "1520270442248" } ] }, "name" : { "source" : "API", "sourceId" : null, "timestamp" : 1520270442248, "value" : "DB Services", "versions" : [ { "name" : "name", "source" : "API", "sourceVid" : [], "timestamp" : 1520270442248, "value" : "DB Services" } ] } }, "stateChanges" : [] } For example, you can get the newly created company ID by using the following set of functions: Set Variable [ JSONGetElement ( $result ; "companyId") ] Conclusion Integrating your FileMaker app with your existing HubSpot account will greatly improve your business’s efficiency. You can create, update, query, or delete just about any entity you would like all from within FileMaker. Feel free to contact us if you need further assistance or to discuss getting your HubSpot account integrated with FileMaker. Are you stuck and need help with your integration? Contact us for support! Download FileMaker HubSpot Integration Database Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Deployment Assistance?Please contact us to assist integrating into your FileMaker Database. Yes Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  3. Google Charts in FileMaker

    Google Charts in FileMaker FileMaker offers many different options for charting, but if you need a chart that is not available in FileMaker, you should consider using Google Charts. Google Charts is a free Javascript framework that can be used in conjunction with web viewers in FileMaker to extend your charting capabilities. Since native FileMaker charting is much quicker and simpler to set up, let’s look at some Google Charts. Only Available in Google Charts Geographic Candlestick Organizational Treemap Gauge Timeline Geographic This chart offers both a quick overview for an entire geographic region as well as discrete values per region. For example, if Finance needs a way to quickly view sales per state, the Geographic Chart can quickly show us that sales in Illinois are the highest. You can then hover over each state to see how much was sold in each. When driving this chart with data from a FileMaker system, users can view a map rich with information at the click of a button. Candlestick With the candlestick chart, you can quickly view a range of values along with its variance. It normally shows financial movements in price or cost. In this example, shaded boxes represent a gain and unshaded boxes represent a loss. Source: https://developers.google.com/chart/interactive/docs/gallery/candlestickchart Organizational and Treemap The next two charts help with viewing a tree data structure. First, the Organizational Chart shows a hierarchy of discrete data. Businesses often use this chart to show a literal hierarchy. This chart doesn’t have too many options, but a developer can configure options such as size, color, or clicking on a cell to collapse. Source: https://developers.google.com/chart/interactive/docs/gallery/orgchart On a treemap, a user can only view one level at a time, but can navigate to each level. Though this graph also maps discrete values, developers can utilize this graph to show a visual summary of values associated with these discrete values. For example, this chart can show that sales in the USA are somewhere around twice as much as those in Mexico (see chart below). Source: https://developers.google.com/chart/interactive/docs/gallery/treemap Gauge Applications can utilize Google’s Gauge chart for a fun way to show “safe” and “dangerous” values. It offers the quick visuals of a 19th century railway gauge with all the customization one could desire! Developers can set coloring for ranges of values, specify minimum and maximum values, and even utilize animations to make the gauges more life-like. This chart could be used on an executive’s dashboard to show actual revenue versus expected revenue. Timeline The last Google Chart I’ll be covering is the Timeline chart. It helps view data associated with a range of time, reducing the amount of headache needed to process historical data. For example, some bands have an impossible amount of lineup changes, but using a Timeline can quickly clear up any confusion (unless you’re AC/DC and have over 10 former members). Adding Google Charts to a FileMaker System Google Charts also has some potentially useful options when it comes to simple graphs. Let’s look at adding a trend line on a scatterplot graph using Google Charts in FileMaker. Creating a Trend Line on a Scatterplot Chart The Google Charts documentation offers a quick and easy way to start creating your own chart by providing code examples. The Google Charts framework has a couple of basic parts for each chart. The initial setup includes the following code: <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load('current', {'packages': ['corechart']}); google.charts.setOnLoadCallback(drawChart); Notice that the “google.charts.load” step includes packages; in this case the package “corechart”, which is a scatterplot chart. This is the main differentiator between charts. Changing the package to “geochart” would completely change the graph type. The next step is setting up the drawChart() function. This tells Javascript what data to draw and what options to use. All the data points are in the array variable “data”. function drawChart() { var data = google.visualization.arrayToDataTable([ ['Year', 'Price'], [2010, 12000], [2017, 35000], ... ]); var options = { title: 'Sale Price by Model Year', hAxis: { title: 'Year', format: '', minValue: 2000, maxValue: 2018, direction:-1, minorGridlines: {color: '#333', count: 1} }, legend: 'none', ... }; }; Lastly, Javascript needs to draw the chart. The following code assumes that there is a <div> with the ID “chart_div” in the HTML. var chart = new google.visualization.ScatterChart(document.getElementById('chart_div')); chart.draw(data, options); Using this as a template, all your FileMaker application needs to do is compile data points and insert them into the “data” variable, making sure they are in the same array format. Nothing else in the chart needs to be data-driven, though you can let users edit any options they need to. Using FileMaker to Plot Data Of course, the big question is “How do I get my data from FileMaker onto a Google Chart?” As alluded to previously, we can use FileMaker scripting to insert data points into the Javascript in your web viewer. Please refer to the demo file for more details on how this process works. Conclusion Using Google Charts, you can extend FileMaker’s charting capabilities with complex charts such as Timeline or Geographic charts. All it takes is a web viewer and a bit of Javascript know-how. Javascript not your thing? Contact us to help put Google Charts in your FileMaker system. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download Google Charts in FileMaker Database Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Deployment Assistance?Please contact us to assist integrating into your FileMaker Database. Yes Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  4. FileMaker Cloud 16

    FileMaker Cloud 16 Update With the release of the FileMaker Cloud 1.16 update, several features that were exclusive to on-premise FileMaker Server are now available. The 1.16 update includes, but is not limited to, the features listed below. Server Side Scripts with the FileMaker Admin API Custom Web Publishing with the FileMaker Data API PDF and print support JSON Parsing OAuth 2.0 client authentication Server Side Scripts The release of the FileMaker Cloud Admin API now allows you to manage server-side schedules, pull a list of logged-in users, send messages to connected users, and much more. Our free FileMaker Cloud Schedule Manager allows you to create and manage script schedules for your FileMaker system. To download our FileMaker Cloud Schedule Manager or read more about what all it can do, see our FileMaker Cloud Admin API Article. Custom Web Publishing The FileMaker Data API, which was formally only available for FileMaker Server, allows you to access your FileMaker data using the standard REST API. By going with a standardized format developers are able to integrate any platform they choose with FileMaker solutions on FileMaker Cloud. Details on enabling and using the data API can be found at our FileMaker Data API Article. PDF and Print Support FileMaker Cloud now enables the use of the Print, Print Setup, and Save Records as PDF script steps on both FileMaker Pro and FileMaker WebDirect. JSON Parsing JSON (JavaScript Object Notation) is an open-standard file format that allows developers to interact with REST APIs without using a plugin. FileMaker Cloud now supports JSON parsing for server side scripts. For more details on using JSON with FileMaker please read our FileMaker JSON Functions Article. OAuth 2.0 Client Authentication FileMaker Cloud now supports OAuth 2.0, which allows clients to authenticate via Amazon, Google, and Microsoft Azure. Configuration for OAuth identity providers can be found in the Client Authentication section under the configuration tab on the FileMaker Cloud Admin Console (shown below) A FileMaker Pro client must be used to configure specific users’ accounts to authenticate via an identity provider. This setting is found under: File -> Manage Security -> highlight desired account -> Edit… Comparing Cloud 16 to Original Release Since the initial version of FileMaker Cloud, many updates have brought Cloud up to par with FileMaker Server. FileMaker Cloud now includes the following features that were not available with the initial launch: On-demand backups Uploading unencrypted FileMaker files Restoring individual data files from a snapshot AWS solid state hard drives (SSD) Increased number of AWS regional endpoints Unsupported Features in FileMaker Cloud The 1.16.0.55 update brought FileMaker Cloud to near parity with FileMaker Server; however, there are three features FileMaker Server supports, which are currently unsupported for Cloud. The first is Custom Web Publishing with PHP and XML is currently unsupported; however, the FileMaker Data API, which is now available for cloud, eliminates the need for this feature. The second is local Active Directory integration. Although Cloud now supports Microsoft Azure Active Directory, it does not support authentication via active directories that exist within your network. The third is compatibility with FileMaker Pro 14 and 15. FileMaker Cloud 16 is currently only compatible with FileMaker 16 clients; however, FileMaker Server 16 is compatible with FileMaker 14, 15, and 16 clients. Backups Cloud backups run on a 20 minute schedule and one week’s worth (504) are stored before automatic deletion begins; however, preserved backups are not deleted. Backups can be run on demand and preserved at any time as shown in the image below. As shown in the graphic above, backups are accessed through the “Backups” section of the Cloud admin console. From here users may request an on-demand backup, which is then automatically preserved. Snapshots can then be attached to preserved backups, allowing the database files to be downloaded as needed. Only one snapshot can be attached at a time, but users may download specific database files as opposed to downloading every file hosted on the server. Uploading Unencrypted Files Unencrypted files can now be uploaded to FileMaker Cloud from a Pro client. Once uploaded, FileMaker Cloud will request an encryption password and encrypt the file itself, saving users the time of encrypting their files through their Pro clients. It is important to note that in order to upload an unencrypted file to Cloud, you will need to have at least three times the file size in space available to upload. The total space available can be viewed from the Dashboard section of the admin console. If you don’t have that much space available, you may upgrade the AWS storage volume size at any time through the Subscription section of the admin console. FileMaker Cloud AWS Region Support FileMaker Cloud can now be set up on the following AWS regions: US East (Northern Virginia) US West (Oregon), Canada (Central) EU (Ireland), EU (Frankfurt) Asia Pacific (Sydney) Asia Pacific (Tokyo) All FileMaker Cloud disk types have been changed from magnetic to solid state drives (SSD), increasing overall speed. Moving to FileMaker Cloud For details on moving your existing system to FileMaker cloud, please read the “Moving to FileMaker Cloud” section of our FileMaker Cloud Overview Article. Conclusion With this update, the full power of FileMaker Server is now available in the cloud. If you’re interested in seeing if FileMaker Cloud is the best choice for you, contact us for a free technical analysis to review and assist in optimizing your application(s) before moving to the FileMaker Cloud. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Afficher la totalité du billet
  5. DB Services

  6. FileMaker Cloud Admin API

    FileMaker Cloud Admin API With the release of FileMaker Cloud Admin API, you can now monitor and manage multiple servers quickly and easily, including the ability to set up server-side schedules, pull a list of logged in users, send messages to connected users, and much more. Let’s take a look at the API and how to use it. Using the API The FileMaker Cloud Admin API uses a standard REST API which allows you to gather info and interact with your server and the files on the server. Some of the things you can do with the API are listed below. Create, edit, delete server side schedules Get a list of schedules List all databases Open, Close, Pause, or Resume a database Disconnect clients Send a message to clients More info on how to interact with API can be found in the FileMaker Cloud 16 Admin API Guide. Creating Schedules Most of the functions in the API are already available from the FileMaker Cloud Admin Console, but at the moment the only way to create schedules is through the new API. This can be a frustrating process as there are so many different flags and types that must be set by number and all the validation required to create them correctly. Lucky for you we’ve created a free file for managing schedules on your FileMaker Cloud Server. Security Please ensure that you encrypt this file before use as it does store username and password information needed to access the admin console and FileMaker files. At the moment there is no good way to exclude this information, and the Admin API returns file credentials in the schedules’ rest calls. Also make sure to add a full access account with a strong password and disable the default admin account. Conclusion The FileMaker Cloud Admin API allows you to easily manage multiple cloud servers from one interface. If you want a private server with easier setup and management, excellent network speeds, automated security updates and much more then FileMaker Cloud is a great way to go. We’re super excited about the direction of FileMaker Cloud and believe that this is the future of hosting FileMaker applications. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download FileMaker Cloud Schedule Manager Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Deployment Assistance?Please contact us to assist integrating into your FileMaker Database. Yes Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  7. FileMaker Twitter Integration

    FileMaker Twitter Integration As one of the top social media platforms, Twitter has over 300 million active users worldwide. Leveraging FileMaker technology, developers can build custom apps which interact directly with Twitter. Let’s walk through how to get your app connected to Twitter. Creating a Free Developer Account First, log into Twitter and create a Twitter App. Second, click the button to generate an API consumer key and an API consumer secret. These two strings are used to securely authorize actions with your twitter account. The consumer key will be passed back and forth with each call, serving as identification. The consumer secret is used to securely encrypt the call in a specific way unique to your account. Authenticating with Twitter Once you have your API information, you will need authenticate your solution with the Twitter API. Twitter API uses a OAuth, and there are two types. Basic authentication can be used for actions which do not require user context, such as reading public tweets or getting profile information. User authentication on the other hand, is needed for actions which require an account: tweeting, direct messages, etc. For this example we will use basic authentication to get the number of followers and tweets of any Twitter handle. The first step is to use a combination of the consumer key and secret key to obtain an access token. These two keys must be combined, separated by a colon, and encoded with Base64. Leveraging the Insert from URL [] script step, FileMaker is able to make HTTP calls and get back the responses. This is the basic mechanic of working with API endpoints. The token is returned as a JSON string, which FileMaker can easily read with native JSON functions. If you authenticate again, you will be given a new token and all old tokens will become invalid. This process ensures tokens cannot be obtained and used without your permission, and also reduces the exposure of your consumer key. To get the token, POST a request with the following settings and headers: Request Example: POST https://api.twitter.com/oauth2/token Headers: Authorization: Basic (Insert Base-64-Encoded <consumer key>:<secret key>) Headers: Content-Type:application/x-www-form-urlencoded;charset=UTF-8 Body: grant_type=client_credentials Response: {"token_type":"bearer","access_token":"AAAAAAAAAAAAAAAA..."} Making Requests and Parsing the Response Once the token is acquired, calls to other API endpoints can be immediately performed. Each subsequent call will be made with the token. To get information about any Twitter handle, POST a request with the following settings and headers: Request Example: GET https://api.twitter.com/1.1/users/show.json?screen_name=<screen_name> Headers: Authorization: Bearer <token> Response: { "contributors_enabled" : false, "created_at" : "Sun May 25 07:09:41 +0000 2008", "default_profile" : false, "default_profile_image" : false, "description" : "We build custom applications for business. Our mission is to make organizations more efficient and effective.", "favourites_count" : 26, "follow_request_sent" : null, "followers_count" : 303, ... } This particular use case for automatically getting Twitter followers could be useful to streamline a review process where applicants must have an audience, such as authors, reporters, or podcast creators. There’s so much more you can do with the Twitter API. Conclusion Use the power of FileMaker to make sense of data from anywhere on Twitter. Track employee engagement, see what the competition is up to, or post tweets directly from your app! Tweet at us if you found this post helpful – let’s have a conversation @dbservices. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download FileMaker Twitter Integration Database Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Deployment Assistance?Please contact us to assist integrating into your FileMaker Database. Yes Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  8. FileMaker Shipping Labels with Shippo

    FileMaker Shipping Labels with Shippo The global market for parcels is on pace to be over $300 billion dollars in 2017 according to Apex Insight with sales continuing to rise via e-commerce. There are many carriers across the globe and having nearly all to your disposal from a single company is advantageous. Many businesses want the ability to ship orders directly out of FileMaker. We commonly recommend Shippo, an all-in-one web API that allows you to pay for and generate shipping labels and tracking numbers on the fly. But why do we want to integrate with Shippo in the first place? Can’t we just create shipping labels all online? The Problem We find that many customers are managing all of their orders inside of FileMaker and all of their shipments in a third-party (sometimes online) solution. This is a very resource intensive workflow and causes a big time waster: double-data entry. Just imagine entering in every single customer’s information into FileMaker and then into a third-party solution. Typing (or copy-pasting) two pairs of shipping and billing addresses just seems barbaric, right? If you are in a similar situation right now, we have a solution (keep reading)! The Solution In a perfect world, you would be able to create an order and generate a shipping label all from one screen within FileMaker and only type the customer’s information once. Well, we like to think that this perfect world already exists! That’s where Shippo and it’s powerful and robust API comes in. With built-in JSON and cURL functions in FileMaker, we can natively integrate with Shippo. All you need to do to get started is sign up for Shippo, set up your shipping options, grab your API keys, and then integrate with FileMaker. It’s super easy and we will show you how to do it below. Benefits of using Shippo Shipping Fees: Need to save money and ship all over the world? Cha-ching! Shippo is very affordable and only charges you for shipping cost + $0.05. Tracking Numbers: Want to provide tracking numbers and links to your customers? You can do it! Shippo provides tracking numbers at no charge. Shipping Carriers: USPS? FedEx? UPS? No problem! Shippo allows you to integrate with a long list of providers at no charge. eCommerce: Have an existing eCommerce website? Good news! Shippo integrates with today’s popular eCommerce platforms. Integration: Itching to start generating shipping labels today? Get to work! Shippo is a very lightweight implementation and uses only native FileMaker with 6 scripts. Getting Started Sign up for Shippo Shippo makes it very easy to get started. The first step is to sign up for an account. Set up Billing Once you are in the Dashboard, fill out all of the information on the Account and Billing tabs (otherwise your account will be suspended after generating a few shipping label requests). Get API Tokens Click on the API tab and take note of the API Live Token and API Test Token. Also note your API Version. For the purposes of this article, we are using API Version 2017-08-01. From time-to-time, Shippo will update their API, but you will have to click a button on the API tab in order to upgrade to the latest version. Keep in mind that upgrading could break your code, so we recommend that you create a developer account to test with before upgrading in a production environment. Enable Shipping Carriers Click on the Carriers tab and/enable all of the carriers that you want to use. For this demo, we are using the fully capable and heavily discounted USPS account that is provided by default. Also, we are going to activate test mode for USPS so that we can create a testing environment without being charged. Set up API Keys in Demo File We have provided a demo file at the bottom of this article that will get you started with the basic example to integrate into your custom solutions. Once you open this file, you will notice that the layout consists of two tabs: order and setup. Click on the Setup tab. From here you’ll need to fill out all of fields at the top (Information & Address) as well as paste in your API Live Token and API Test Token into the corresponding fields. There is also a checkbox toggle that will allow you to go from “test mode” to “live mode.” During test mode, your account will be able to generate test shipping labels and tracking codes (that cannot be used for actual shipping), but our account will not be charged. Test Once you are ready to test, go ahead and fill out the order form, then click Generate Shipment & Rate. This will populate the portal underneath Shipping Info with multiple rates to choose from. You can select your desired rate and then click Generate Shipping Label. If all goes well, a brand new shipping label and tracking number will appear! Breakdown Now that you’ve tested with the demo file, let’s breakdown exactly what we did so that you can build it yourself (or use the demo file if you wish). Tables and Fields You need to create 5 tables: LOG housekeeping fields (primary key, creation/mod date, account, and timestamp) request (text) response (text) ORDER housekeeping fields (primary key, creation/mod date, account, and timestamp) customer first name (text) customer last name (text) customer email (text) customer phone (text) customer address fields (address 1, address 2, city, state, zip, country) customs declaration id (text) customs declaration toggle (number) shipment object id (text) shipping label (container) shipping label errors (text) shipping dimension fields (height, length, width, and weight) shipping tracking number (text) shipping tracking number url (text) log id (global) constant 1 (global) ORDER_LINE_ITEM housekeeping fields (primary key, creation/mod date, account, and timestamp) order id (text) item name (text) item quantity (number) item weight (number) item price (number) item extended price (auto-enter of quantity x price) PREFERENCES housekeeping fields (primary key, creation/mod date, account, and timestamp) company name (text) company address fields (address 1, address 2, city, state, zip, country) company email (text) company phone (text) Shippo live token (text) Shippo text token (text) Shippo live mode/test mode toggle (number) RATE_OPTION housekeeping fields (primary key, creation/mod date, account, and timestamp) shipping carrier account id (text) order id (text) rate id (text) rate amount (number) chosen rate checkbox (number) duration terms (text) estimated days to delivery (text) shipping provider (text) service level name (text) service level token (text) Relationships You need to create 5 relationships off of the ORDER table: a creation/deletion relationship to ORDER_LINE_ITEM using the ORDER primary key. a cartesian relationship to PREFERENCES using the primary keys. a creation relationship to LOG using the global logID field. a relationship to RATE_OPTION using the ORDER primary key. a relationship to RATE_OPTION using the ORDER primary key and chosen rate field. Scripts You need to create 6 scripts: Startup You need to create (or modify) a script that runs on startup of the FileMaker database. Add a script step that goes to a new layout called based on ORDER (we will create the layout later). After going to the new layout, set the global constant 1 field to the value of 1. You will use this global to make the chosen shipping rate relationship work that you created earlier. Create a Shipment You need to create a new script that generates a shipment in Shippo. In this new script, set a variable for the URL we will POST the shipment information to (https://api.goshippo.com/shipments/). Add three more variables: one for the Shippo test token, one for the Shippo live token, and one for the checkbox that determines if the live or test token is used. You’ll need to use the cartesian relationship from ORDER to PREFERENCES for these three variables. Next, set all the variables for the company that is shipping the product (company name, phone, email, fax, address, city, state, and zip). Again, these fields come from the PREFERENCES table, so you will need to use the cartesian relationship from ORDER to PREFERENCES for these variables. After that, set all the variables for the customer (full name, company, address 1, address 2, city, state, zip, country, email, and phone). All of this information is on the order screen so there is no need to use a relationship here, just use the ORDER context (and ensure you are on the ORDER context when running the script). Then, set all the variables for the shipping info (weight, length, height, width, and requires customs declaration checkbox). These fields are also on the order screen, so just use the ORDER context again. In this step, you can choose to validate that all of the variables you set are present before you run the rest of the script. We recommend doing this so that you aren’t wasting time with the API call if all of the variables are not set correctly. Next, check to see if the shipment requires a customs declaration. If it does, you will run the “Create a Customs Declaration” script that we will go over in the next script breakdown. Check that the script doesn’t return an error. If there are no errors, expect a customs declaration ID to be returned to be added to the JSON request payload in the next step. Now that all the variables are set, you need to wrap it all up in a nice JSON variable to be sent as a request payload. You can see exactly how Shippo wants to receive this request payload here. Also, if you need help building the JSON variable, you can read up on JSON functions with FileMaker here. After you’ve created a request, you can use the Insert from URL script step to send the JSON request payload. A JSON response payload will come back from Shippo. You can take this JSON response payload and parse it out however you wish, but you can check the “status” key-value pair to see if the response is “SUCCESSFUL” or not. Next, you need to save the “object_id” key-value from the JSON response payload into the shipment object ID field in the ORDER table. You will use this later to create shipping rates. Last, you need to run the “Create Shipping Rates“ script that we will go over in a later script breakdown. Create a Customs Declaration For international shipments, you will need a Customs Declaration. This is basically a piece of paper that tells Customs Officers what is in the package. To generate a Customs Declaration you need to create a new script with a variable for the URL we POST to (https://api.goshippo.com/customs/declarations/). See three more variables: one for the Shippo test token, one for the Shippo live token, and one for the checkbox for if we are using the live token or not. You will need to use the cartesian relationship from ORDER to PREFERENCES for these three variables. Next, set a variable for the full name of the customer you are shipping to. Create four more variables that use the List function to group the name, weight, quantity, and extended price from the ORDER_LINE_ITEM relationship off of ORDER. Now, create a JSON request payload based off of the payload Shippo is expecting (you can see this expected payload here). You’ll see that Shippo is expecting a list of items in the shipment. To do this, you will need to loop through all of the order line items and append them to the JSON request payload. Last, send the JSON request payload to Shippo and receive the JSON response payload. Check for success or errors. If successful, grab the “object_id” key-value and set it as the customs declaration ID in the ORDER table. Then, pass the “object_id” key-value back to the parent script in the Exit Script script step. Create Shipping Rates You need a way to generate all possible shipping rates for a particular shipment. Create a new script and set a variable for the URL we will POST to (https://api.goshippo.com/shipments/[SHIPMENT_OBJECT_ID_GOES_HERE]/rates/[CURRENCY_TYPE_GOES_HERE]). The currency type, in this case, is simply USD. Set three more variables: one for the Shippo test token, one for the Shippo live token, and one for the checkbox for if we are using the live token or not. You will need to use the cartesian relationship from ORDER to PREFERENCES for these three variables. Next, you need to set a variable for orderID and for shipmentObjectID. Once again, you can validate that all of the variables are set before running the script. Now, do an Insert from URL script step using a cURL command on the URL by sending just the Authorization with the live or test Shippo token using a GET method. This time, you want to check if you received shipping rates from the JSON response payload by checking for a “count” key-value. If you don’t get a count, then check for errors. If you do get a count, then you will go to the RATE_OPTION table, check to see if shipping rates for the current order already exist (if they do, simply delete the found count of records), and then loop over each JSON rate array and parse the information into the following fields: orderID, rateID, carrier account, rate amount, service level name, service level token, provider name, estimated days, and duration terms. Create Shipping Label You need a way to generate the shipping label and tracking number information based on the rate that was chosen. First, create a script and set a variable for the URL we will post to (https://api.goshippo.com/transactions/). Set three more variables: one for the Shippo test token, one for the Shippo live token, and one for the checkbox for if we are using the live token or not. You need to use the cartesian relationship from ORDER to PREFERENCES for these three variables. Also, you need to set a variable for the selected shipping rate by using the relationship from ORDER to RATE_OPTION that uses the chosen rate field. Once more, you can validate that all of the variables are set before proceeding. Next, create a request payload by using the Insert from URL script step and passing in cURL options for authorization, rate, label file type and async using a POST method. Now, check to see if you receive a “SUCCESS” status from the JSON response payload, otherwise, check for errors. Then, set a variable for a shipping label image URL by getting the “label_url” key-value from the JSON response payload. Do an Insert from URL script step onto the shipping label container field with the URL set to the shipping label image URL variable. This will pull the PDF of the shipping label into the shipping label container field. Last, set the tracking number and tracking URL fields with the “tracking_number” and “tracking_url_provider” key values you get from the response. Select Shipping Method You need a way to select a shipping rate from the Shipping Info portal. You will have checkboxes in the portal to select a rate, but you don’t want to be able to select multiple (which is the default behavior). This script will run through all of the shipping rates in the portal and only leave the one selected as the one checked off. Create a script with two variables: orderID and rateID, with orderID being the current order primary key and rateID being the ID of the shipping rate selected from the portal. Next, write a Go To Layout script step that goes to the base table layout for RATE_OPTION, do a find for all of the records that match the orderID, and loop through them. Inside the loop, check each record to see if the rateID of the record matches the rateID variable that you set earlier. If it matches, set the “chosen rate” field to 1, otherwise, set the field to “”. Layouts Order Layout Create a layout based on the ORDER table to use as the order data entry screen. Add all of the fields from the ORDER table to the layout and arrange how you see fit. Make sure the Customs Declaration field is a checkbox and the value list value of 1. Create a portal based on ORDER_LINE_ITEM using the relationship from ORDER. Add the item name, weight, quantity, price, and extended price fields. Format the fields how you see fit. You can optionally add a delete portal row button. Create a portal based on RATE_OPTION using the relationship from ORDER (not the relationship that uses the chosen rate field). Add the chosen rate (checkbox with value list value of 1), provider, service level name, and amount fields. Format the fields how you see fit. Make the chosen rate checkbox a button with the “Select Shipping Method” script attached. Create a button called “Generate Shipment & Rate” that runs the “Create a Shipment” script. Create a button called “Generate Shipping Label” that run the “Create Shipping Label” script. Setup Layout Create a layout based on the PREFERENCES table. Add to the layout all of the company name and address fields along with the Shippo live token, test token, and live mode/test mode toggle (as a checkbox with the value list value of 1). Conclusion Integrating with an API service like Shippo to generate shipping labels and tracking information inside your FileMaker solution can greatly reduce your workload and increase your bandwidth to do more revenue-generating activities. If you need assistance integrating Shippo into your custom FileMaker solution, feel free to contact us. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download FileMaker Shipping Labels with Shippo Database Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Deployment Assistance?Please contact us to assist integrating into your FileMaker Database. Yes Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  9. FileMaker Amazon Marketplace Integration

    FileMaker Amazon Marketplace Integration Amazon is the largest e-commerce site in the world, making brick and mortar stores scramble to catch up online as Amazon continues to grow marketshare. While Amazon only holds a mere 5 percent share of total retail sales, excluding food, across the country according to data from the U.S. Census Bureau, in 2016 Amazon posted revenue of 136 billion dollars compared to 107 billion in 2015, 27% year over year growth. Getting your business set up with Amazon is a great way to promote your produce and boost your sales. It is never to late to jump on the sales freight train that is Amazon. We will demonstrate how you can streamline your operation by directly integrating your FileMaker solution with Amazon using Amazon Marketplace Web Service. Creating a Developer Account There are a few prerequisites that you will need to meet first before you can continue. You can get all the information you need and more in the Amazon MWS Documentation. If you do not have a seller account, you will need to create one by registering at Amazon Services. If you have what you need to register as a developer, then you will need to log in and go to your User Permissions page. Click on the Register as a Developer button and follow the instructions. When you finish the process, you will then see your Seller ID (Merchant ID), Marketplace ID, AWS Access Key ID, and Secret Key. These are important for our integration and should be kept safe and secret. Amazon MWS Signatures Once you have your API information, you will need to authenticate your solution with the Amazon MWS API. Amazon requires you to add a signature to all of your requests to authenticate your requests. Please reference the documentation on signing requests. The main goal of the signature is to make sure the signature string matches what the API expects. The signature string is an encrypted combination of all parameters passed in the request in alphabetical order. The authentication process can be quite tricky, so I highly recommend taking a look under the hood of the example file we have provided. Set Variable [ $sigString ; Value: "GET" & Char (10) & $host & Char (10) & $api & Char (10) & $params ] Set Variable [ $authCode ; Value: CryptAuthCode ( $sigString ; "SHA256" ; $secretKey ) ] Set Variable [ $signature ; Value: Base64EncodeRFC ( 4648 ; $authCode ) ] Making Requests and Parsing the Response To send a request to the API, you will need to use the Insert from URL script step with FileMaker cURL options. Set Variable [ $parameters ; Value: "AWSAccessKeyId=XXXX&Action=ListOrders&CreatedAfter=XXXX&MarketplaceId.Id.1=XXXX&SellerId=XXXX&SellerOrderId=XXXXX&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=XXXXX&Version=2013-09-01" ] Set Variable [ $cURL ; Vaule: "-X POST --data " & $parameters ] Insert from URL [ Select ; With Dialog: Off ; $result ; $url ; $cURL ; Do not automatically encode URL ] Once a successful request has been made, an XML-encoded response will be returned. FileMaker does not have a native function for reading XML, so a plugin or a good custom function is needed in order to easily make and read any XML that is sent or received from the API. I suggest using the BaseElements Plugin as it is a free and powerful plugin that can handle all of our XML needs. You will be able to use the function BE_XPath( ) to pull any information out of the response that you wish. <?xml version="1.0" encoding="UTF-8"?> <ListOrdersResponse xmlns="https://mws.amazonservices.com/Orders/2013-09-01"> <ListOrdersResult> <Orders> <Order> <LatestShipDate>2017-08-19T04:48:48Z</LatestShipDate> <OrderType>StandardOrder</OrderType> <PurchaseDate>2017-09-01T17:06:50Z</PurchaseDate> <AmazonOrderId>XXX-XXXXXXX-XXXXXXX</AmazonOrderId> <BuyerEmail>XXXXXX@dbservices.com</BuyerEmail> <IsReplacementOrder>false</IsReplacementOrder> <LastUpdateDate>2017-09-01T05:10:11Z</LastUpdateDate> <NumberOfItemsShipped>1</NumberOfItemsShipped> <ShipServiceLevel>SecondDay</ShipServiceLevel> <OrderStatus>Shipped</OrderStatus> <SalesChannel>Amazon.com</SalesChannel> <IsBusinessOrder>false</IsBusinessOrder> <NumberOfItemsUnshipped>0</NumberOfItemsUnshipped> <PaymentMethodDetails> <PaymentMethodDetail>Standard</PaymentMethodDetail> </PaymentMethodDetails> <BuyerName>DB Services</BuyerName> <OrderTotal> <CurrencyCode>USD</CurrencyCode> <Amount>1.00</Amount> </OrderTotal> <IsPremiumOrder>false</IsPremiumOrder> <EarliestShipDate>2017-09-01T04:48:48Z</EarliestShipDate> <MarketplaceId>MARKET</MarketplaceId> <FulfillmentChannel>AFN</FulfillmentChannel> <PaymentMethod>Other</PaymentMethod> <ShippingAddress> <StateOrRegion>IN</StateOrRegion> <City>Indianapolis</City> <CountryCode>US</CountryCode> <PostalCode>46250</PostalCode> <Name>DB Services</Name> <AddressLine1>8604 Allisonville Rd</AddressLine1> </ShippingAddress> <IsPrime>false</IsPrime> <ShipmentServiceLevelCategory>SecondDay</ShipmentServiceLevelCategory> <SellerOrderId>XXX-XXXXXXX-XXXXXXX</SellerOrderId> </Order> </Orders> <CreatedBefore>2017-08-22T12:42:43Z</CreatedBefore> </ListOrdersResult> <ResponseMetadata> <RequestId>XXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXXXXX</RequestId> </ResponseMetadata> </ListOrdersResponse> For example, you can get the Amazon Order Id by using the following: Set Variable [ $n ; Value: 1 ] Set Variable [ BE_XPath ( $result ; "/ns:ListOrdersResponse/ns:ListOrdersResult/ns:Orders/ns:Order[" & $n & "]/ns:AmazonOrderId" ; "ns=https://mws.amazonservices.com/Orders/2013-09-01") ] The $n variable is used to get the nth order in the list. In the example provided there is only one order; however, if your result contains multiple orders you will need to change $n to the nth number. Amazon Feeds: Acknowledging and Shipping an Order The above example is based on the Order API. That will give you the basic information on your orders. Once you are ready to acknowledge or ship an order, you will need to use the Feeds API. The Feeds API will not automatically process your request and give you the results of your request, so communicating with this API requires two steps: Make request to the Feed API and grab the Feed Submission ID. Continuously query the Feed API with the Feed Submission ID for the results of your original request. This means that once you have submitted your original request, Amazon will either acknowledge that it received a valid request and give you a request id to watch, or it will respond with an immediate error. <?xml version="1.0" encoding="UTF-8"?> <SubmitFeedResponse xmlns="http://mws.amazonaws.com/doc/2009-01-01/"> <SubmitFeedResult> <FeedSubmissionInfo> <FeedSubmissionId>50002017409</FeedSubmissionId> <FeedType>_POST_ORDER_ACKNOWLEDGEMENT_DATA_</FeedType> <SubmittedDate>2017-08-31T11:56:14+00:00</SubmittedDate> <FeedProcessingStatus>_SUBMITTED_</FeedProcessingStatus> </FeedSubmissionInfo> </SubmitFeedResult> <ResponseMetadata> <RequestId>15e66ef4-6306-4a1b-9712-20d9ee6d9b16</RequestId> </ResponseMetadata> </SubmitFeedResponse> If you sent a valid request, you will then have to wait and continuously query the Feeds API with your Feed Submission ID. Amazon will then respond with try again, error, or success response. <?xml version="1.0" encoding="UTF-8"?> <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> <Header> <DocumentVersion>1.02</DocumentVersion> <MerchantIdentifier>XXXXXXXXX</MerchantIdentifier> </Header> <MessageType>ProcessingReport</MessageType> <Message> <MessageID>1</MessageID> <ProcessingReport> <DocumentTransactionID>XXXXXXXXX</DocumentTransactionID> <StatusCode>Complete</StatusCode> <ProcessingSummary> <MessagesProcessed>1</MessagesProcessed> <MessagesSuccessful>1</MessagesSuccessful> <MessagesWithError>0</MessagesWithError> <MessagesWithWarning>0</MessagesWithWarning> </ProcessingSummary> </ProcessingReport> </Message> </AmazonEnvelope> Conclusion Following the steps above you can integrate your FileMaker solution with Amazon and streamline your workflow. Feel free to contact us if you need further assistance or to discuss getting your Amazon account integrated with FileMaker. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download FileMaker Amazon Marketplace Integration Database Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Deployment Assistance?Please contact us to assist integrating into your FileMaker Database. Yes Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  10. FileMaker Xero Integration

    FileMaker Xero Integration Xero is a comprehensive accounting system for small to medium-sized companies with over a million subscribers. It can handle any accounting task ranging from inventory to bank transactions and it was specially designed to be a cloud-based solution to save clients from IT headaches. And with its simple API, you can integrate it with your FileMaker application to streamline workflow and eliminate double data entry. This article will show you how to integrate FileMaker with Xero, including how to create a Xero developer account and application, establish a connection to the API, make a request, and parse the response. Setting Up A Free Xero Development Account The first step to complete is to create a Xero free developer account. I recommend enabling the Xero demo company after the account setup is complete to use for testing purposes. The demo company is easy to set up and you can reset the data whenever you need to. Simply navigate to the My Xero page and click the Try the Demo Company button. Be sure to set the company time zone that matches your location. Now you need to choose the type of application for Xero. You can connect to Xero as one of three entities: Private Application: allows long term access and bypasses user authorization process. Xero unfortunately uses RSA-SHA1 method to generate public and private keys that can be only generated using third party plugin for now. I suggest establishing connection between Xero and FileMaker as a public application. Public Application: allows 30 minutes connection to Xero using a verifier code. The sample file attached to this article will walk you through this process. Partner Application: allows long term connection through public application to be used by others. Your organization must be approved by Xero to build this type of application. Add your public application following our example below. The company URL needs to start with “http”. The OAuth callback domain can be left empty. To get started, download the demo file shown on this article and follow the step-by-step process. Establishing A Connection With Xero Once you have set up a public application, you’re ready to establish a connection to the accounting API. You can now set http headers with FileMaker 16, but there is no native way to easily parse XML, which is Xero’s default data format. I suggest using the BaseElements plugin as it is a free and powerful tool to parse XML. To authenticate your solution, please reference the documentation on OAuth1.0. The main goal of OAuth1.0 is to make sure the signature string matches what the API expects. The signature string is an encrypted combination of all parameters passed in the request in alphabetical order. The authentication process can be quite tricky, so I highly recommend taking a look under the hood of the example file we have provided. Here’s sample code to request access to your Xero account: Insert from URL [ Select ; With dialog: Off ; $result ; $url ; cURL options: "-X GET" & " -D $httpResponseHeaders" & " -H content-type:application/x-www-form-urlencoded" ] You can easily establish a connection with your consumer key and secret code. But you will have to renew your access code every 30 minutes. Also keep in mind that the URL and request body differ depending on what you are trying to do. Take a look at the Xero documentation to make specific calls to Xero. Making Requests and Parsing the Response Each Xero module has a different URL to call. My example shows you how to create and update each customer, and populate a Xero ID field from the response we get. I highly recommend fine tuning your requests and gaining a better understanding of Xero’s response by using their Xero Previewer application. In the example file provided, you can create and update a Xero contact using a POST request with customer details shown on the customer details screen. Customer data is wrapped in XML formatting using custom functions and then passed as the parameter in the Insert from URL script step. Once a successful request has been made, a response in XML will returned. You will then be able to use the function BE_XPath ( xml ; xpath {; namespaceList ; asText } ) to pull any information out of the response that you wish. <Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Id>ffd5095f-a4d7-4428-b46b-4b06e21d48e2</Id> <Status>OK</Status> <ProviderName>DB Services</ProviderName> <DateTimeUTC>2017-07-31T12:01:34.4110112Z</DateTimeUTC> <Contacts> <Contact> <ContactID>4623e1cb-391a-44d3-9c3b-7e8af035745f</ContactID> <ContactStatus>ACTIVE</ContactStatus> <Name>DB Services</Name> <FirstName>Gayoung</FirstName> <LastName>Moon</LastName> <EmailAddress>sales@dbservices.com</EmailAddress> <Addresses> <Address> <AddressType>STREET</AddressType> <AddressLine1>8604 Allisonville Road</AddressLine1> <AddressLine2>Suite 231</AddressLine2> <City>Indianapolis</City> <Region>IN</Region> <PostalCode>46250</PostalCode> <Country>USA</Country> </Address> <Address> <AddressType>POBOX</AddressType> </Address> </Addresses> <Phones> <Phone> <PhoneType>DEFAULT</PhoneType> </Phone> <Phone> <PhoneType>DDI</PhoneType> </Phone> <Phone> <PhoneType>FAX</PhoneType> </Phone> <Phone> <PhoneType>MOBILE</PhoneType> </Phone> </Phones> <UpdatedDateUTC>2017-07-31T05:19:47.387</UpdatedDateUTC> <IsSupplier>false</IsSupplier> <IsCustomer>false</IsCustomer> </Contact> </Contacts> </Response> For example, you can get the newly created Xero contact ID by using the following set of function: BE_XPath ( $postResponse ; "/Response/Contacts/Contact[1]/ContactID" ) Xero: Things to Keep In Mind It’s important to know limits of Xero API when building integration between FileMaker and Xero. The Xero API continues to improve itself and introduce new functionalities, but for now, here are couple of important items that you need to know: The Xero API is limited to 60 calls in a rolling 60 second window. It also has maximum of 5,000 calls in a 24 hour window. POST to Accounting or Payroll has a size limit of 3.5 MB and a file size limit of 10 MB. This is why Xero suggests developers post bundles of up to 50 elements in one call. All timestamps must be in standard time (aka ignore Daylight Savings). Xero is designed to work with small and medium-sized business the best. Large requests will make both reporting and communication between applications slower. Conclusion Xero is a powerful cloud application for small to medium-sized companies that can be easily integrated with your FileMaker application. Integrating your application with Xero will dramatically streamline your accounting workflow, eliminate double data entry, and reduce IT headaches by going to the cloud. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download FileMaker Xero Integration Database Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  11. FileMaker Business Intelligence Using Tableau

    FileMaker Business Intelligence Using Tableau With FileMaker 16 you are now able to connect to a powerful business intelligence software called Tableau that helps people see and understand their data. Tableau is a leader in business intelligence software and has been named a leader 5 years in a row in Gartner’s Magic Quadrant. Tableau allows you to create advanced charts and reports of your data, and create interactive dashboards that let you see trends and turn data into actionable insights. With FileMaker’s new REST API connecting to Tableau is easier than ever. How To Connect Data Source To add a FileMaker data source you have to do a little setup first. Make sure you have the following in place: Your FileMaker file is hosted using FileMaker Server 16. You have a valid SSL certificate installed on your FileMaker server. FileMaker Server and solution file must have FileMaker Data API enabled. There’s a layout in your FileMaker file with all the fields you want Tableau to have access to. After you have that set up open up Tableau and under the connect section click the “Web Data Connector” button. This will ask for a URL, which will be https://<<HOST-NAME>>/fmi/rest/tableau/fm_connector.htm. This will take you to the following page. From here just type in your database name, layout name that you wish to pull data from, and the account name and password. You will have to do this process for each layout you wish to pull data from, and like the PHP API, you will only have access to fields that are on the layout. Worksheets, Dashboards, and Stories In Tableau, each worksheet is an individual chart, and a dashboard is a combination of various worksheets that are capable of interacting with each other. You use the same worksheet in multiple dashboards making unique combinations to dig into your data. Stories are similar to dashboards, except they have multiple pages and are similar to a slide show. Tableau has a great drag and drop interface that is really powerful and will automatically try to determine the best chart type to use. Adding Dashboards to FileMaker Once you’ve created and published a dashboard, you can easily display the results in a FileMaker solution through the use of a web viewer. After publishing your dashboard to the cloud or server you can copy and paste the embed code into a FileMaker web viewer, just make sure to prepend the text with “data: text/html,” before the rest of the embed code. Check out the demo file at the bottom of the article to view an example. Tableau Deployment and Pricing Deploying Tableau is a bit similar to FileMaker in that there is a desktop client edition for creating and editing charts and a server edition used for hosting the information. You can host directly through Tableau using Tableau Online or you can manage your own server. The pricing for each option is as follows: Tableau Online – $42 per user a month (Server managed by Tableau) or Tableau Server – $35 per user a month (Requires setting up and managing server) and Tableau Desktop Professional Edition – $70 per user a month (Most likely only need one copy) There is also a personal edition of Tableau Desktop, but it can’t connect directly to FileMaker, and cannot publish data to Tableau Online or Tableau Server. For testing purposes, there is also Tableau Public that you can get from public.tableau.com, which will let you try out Tableau. The only way to save your data using Tableau Public is to a public server which would let anyone see your data, so be careful of what you save while testing. Conclusion Tableau allows us to dissect our FileMaker data in a really easy and powerful way. There is a reason that business intelligence has become so popular in the last few years: it can help us comprehend massive amounts of data at a glance, allowing companies to identify, monitor, and quickly adapt to trends to help improve business decisions. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download FileMaker Business Intelligence With Tableau Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  12. FileMaker Crosstab Reports

    FileMaker Crosstab Reports FileMaker is very adept at creating list reports, but often you want to see your data in a grid format. This is when crosstab reports, also referred to as pivot tables or matrix reports, come in handy. A crosstab report is a way to display data from 2 or more different sources in a grid format. Luckily there are still plenty of options for doing this in FileMaker. Some methods are better for data entry, some are better for viewing, and some are better for speed and flexibility. Why use a Crosstab Report? Crosstab reports format groups of data into an easy to read grid format. If this sounds like an excel spreadsheet, that’s because it is. There is a reason people love their spreadsheets, it makes comparing values in one group with values in another group really easy. Below you can see an example of 2 reports showing the exact same data, but the crosstab report makes comparing company yearly sales much easier. This is why crosstab reports are so powerful. Native FileMaker The example below is built all with native FileMaker and involved creating 3 globals, 3 relationships, and 3 calculations and is limited to only showing 3 companies at a time. That’s a lot of work just to show 3 columns, and not very realistic as chances are you’re going to have a lot more than 3 companies in your system. However, data entry and printing are going to be easier using this technique, and you have the advantage of not having to learn any other technologies. Web Viewer In this example, I’m going to build a crosstab report using HTML and CSS and display the results in a web viewer. While this version will not have any data entry involved, that is also possible using javascript to pass the data to FileMaker using either the new REST API or using FMP URLs. As you can see below we are showing 8 companies, as well as grouping the data by year and I didn’t have to make 8 of everything! All it took was 2 globals and 2 relationships, one for the year and one for the category. The best part is that I can add new categories, companies, or dates outside of 2015-2017 and it will all adjust automatically and reformat to fit the data. How it’s done In order to build a report like this, you have to be somewhat familiar with HTML and CSS, but it’s really not too hard to learn. If you’re new to HTML I’d suggest starting with a tool like rapidtables to quickly generate the HTML required to make the table, and all the CSS. Below is an example of the output from RapidTables as well as some HTML markup to display the data properly in a web viewer. Feel free to copy and paste the code below into a web viewer to see the table; just make sure to escape any double quotes with either a slash before it or change them to single quotes. data: text/html, <html> <head> <title>Demo</title> </head> <body> <!--START OUTPUT FROM RAPID TABLES--> <style> .demo { border:1px solid #C0C0C0; border-collapse:collapse; padding:5px; } .demo th { border:1px solid #C0C0C0; padding:5px; background:#F0F0F0; } .demo td { border:1px solid #C0C0C0; padding:5px; } </style> <table class="demo"> <caption>Table 1</caption> <thead> <tr> <th>Header 1</th> <th>Header 2</th> <th>Header 3</th> </tr> </thead> <tbody> <tr> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </tbody> </table> <!--END OUTPUT FROM RAPID TABLES--> </body> </html> Adding Your Data Now all you have to do is use your FileMaker skills to generate a string that resembles the data above, but replacing the headers and &nbsp; (Which stands for non-breaking space) with your data. You could do this by either using calculations or as I did in the demo file, a script to loop through the records generating all the text in a variable. Printing Printing a web viewer can be a bit of a challenge if you’ve never tried. One way to tackle this is to export the web viewer contents to the temp directory with a little extra Javascript, which when opened will open the print dialog on the user’s default browser. You can even add CSS specifically for printing which allows for more flexible printing. Report Speed Using native FileMaker methods to compile lots of data can not only be slow to build but can be slow to display, especially if running the report over the WAN. Using a webviewer to generate a crosstab report has the huge benefit of being able to process and crunch all the numbers on the server because all we are doing is working with text, you can very easily script the report to run on the server and return the data in the script results. This makes running reports lighting fast. Conclusion Building crosstab reports can be a bit of a challenge and there are many ways to tackle the problem. Different situations might require different techniques, which is why knowing multiple ways to create crosstab reports is so useful. When it comes to speed and flexibility it’s hard to beat using a web viewer, and can be great at speeding up slow reports. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download FileMaker Crosstab Reports Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
  13. FileMaker 16 Overview

    FileMaker 16 Overview A new and exciting version of the FileMaker platform is here! 2017 marks over 32 years in business for FileMaker. In a collection of articles, we review what’s new in the FileMaker platform, specifically the features for FileMaker Pro 16, FileMaker Server 16, FileMaker Go 16, FileMaker WebDirect 16, and FileMaker Cloud. Below you will find an overview of our favorite features with links to our more in-depth articles that include example videos. What’s New? FileMaker Server now includes the ability to Print PDF
 from Server (forever eliminating those PDF robots
 some of you may have) and a RESTful API. Some of the many exciting new features include Cards, new Windows interface, Enhanced cURL options, JSON functions and Layout Object Window. New mobile features include Location Monitoring, Animations and Transitions, Enhanced Signature Capture, and the ability to deploy plugs with iOS SDK with External Script Steps. This is the fourth major release of WebDirect and it includes the ability to print to PDF in the browser which was quite the feat for FileMaker engineers. You can now scale your WebDirect application up to 500 simultaneous users. FileMaker Cloud was released on Sept 27th, 2016 for Amazon Web Services (AWS) running CentOS Linux and new releases continue to occur over time. You must have annual licensing in order to use FileMaker Cloud. There have been some minor updates to FileMaker Licensing. You can now buy 3 year renewals with a larger discount and there is a new promo offering 25% off for new customers who are switching from Microsoft Access. FileMaker Licensing for Teams, which is based on the number of users, continues to be the default for licensing moving forward. FileMaker Pro 16 This is the FileMaker Pro release we have been all waiting for. FileMaker Pro 15 caught the engineers a bit off guard by switching to annual release cycles. Now all those goodies that didn’t make the last release have been cooking for 24 months and are ready for you to enjoy. The FileMaker 16 platform is a fine example of why you need to stay on the latest version as it continues to add new features that will make developers, end-users, and the folks in IT very happy. FileMaker is a well-rounded platform and this release provides many features for usability, mobility, security, development, integration, and scalability. You can build more advanced applications faster than ever before. FileMaker Cards There is now a new window style choice, Card, that allows you to display data from another layout. Cards open up a world of possibilities for developers and solutions. See FileMaker Card Windows in action as Emory Brown looks at this exciting new feature in depth. You definitely want to start using this in your solutions moving forward. Windows Operating System Interface You can now have multiple windows in Windows that are no longer bound to the application window. Mac users have experienced this for a very long time and now Windows users will enjoy the freedom of what is known as Single Document Interface. Check out the many new FileMaker User Interface Enhancements including the new FileMaker Windows Interface as Brandon Ray walks you through the numerous improvements. Security OAth 2.0 You now have the ability to setup a user login to authenticate with Amazon, Google, or Microsoft Azure AD. Learn about FileMaker Security in the new version as Michael Westendorf shows you how to setup FileMaker OAth with FileMaker Server. Field Level Encryption Securing sensitive data means you should be encrypting across the wire, setting up Encryption at Rest, and also encrypting the data at the field level. FileMaker has added 6 new functions that allow you to pass a key to the function to Encrypt and Decrypt the data: CryptAuthCode, CryptDecrypt, CryptDecryptBase64, CryptDigest, CryptEncrypt, CryptEncryptBase6. Read more about FileMaker Field Level Encryption in our FileMaker Security article. Layout Object Windows Over the course of time FileMaker layouts can hold many layers of objects. You end up grouping and locking objects in order to make the layouts easier to work with. Now FileMaker provides you the ability to see the order of the objects and ability to show and hide objects on the layout along with searching a layout object tree. Learn more about FileMaker Layout Object Window as Gayoung Moon shows you how to use Layout Object Windows. Enhanced Data Viewer For anyone who writes or edits calculations, using FileMaker Pro Advanced will provide you the tools to be a better developer. FileMaker 15 brought the Script Workspace, FileMaker’s Integrated Development Environment (IDE). FileMaker 16 brings the same ease of use Edit Expression dialog to the Data Viewer only available in FileMaker Pro Advanced. Enhanced cURL Options A new option is now available in the Insert from URL script step, Specify cURL options, which allows you to set headers and includes over 80+ options. Learn more about all the FileMaker cURL options that are now available as Eric Church takes a deeper dive into cURL. Native JSON Functions New functions are now available to retrieve, parse, modify, and send text as JSON (JavaScript Object Notation) data with Web Services that use a REST API. Using the Insert from URL script step you can retrieve data and then parse JSON from the result or send JSON data. See the new FileMaker JSON functions available, as Jeremiah Hammond demonstrates using JSON in FileMaker. Copy / Paste Value Lists You can now easily move Value Lists from one application to another by copying and pasting. This is great for consolidating FileMaker files or moving from one application to another. Copy / Paste Tables This used to be available only in FileMaker Pro Advanced, but now you can copy and paste tables in FileMaker Pro as well. This is great for when you are consolidating separate applications into one or porting one system feature to another application. FileMaker Pro Technical Specs FileMaker Pro 16 and FileMaker Pro Advanced 16 are supported on Windows 10 Standard, Pro, and Enterprise, Windows 8.1 Standard and Pro, Windows 7 SP1 Professional and Ultimate, macOS Sierra 10.12, and OS X El Capitan 10.11. FileMaker Go 16 FileMaker Go is for iPad and iPhone users and has all the features provided in FileMaker Pro plus specific iOS features listed below. You can only access and modify data with FileMaker Go, you need FileMaker Pro or FileMaker Pro Advanced to build your application. The new version of FileMaker Go 16 is available in the App Store. Location Monitoring A new script step Configure Region Monitor is now available that allows you to monitor for the geolocation or for known iBeacon(s) in an area and then perform an action based on the iBeacon found. This will allow you to know if the user is entering or leaving the predetermined region. Learn about FileMaker Location Monitoring as Ian Haas demonstrates how to use these new Configure Region Monitor script steps. Animations and Transitions You can now add animations and transitions to Go to Layout and Go to Related Record script steps. Enhanced Signature Capture From the Insert from Device script you can now do Full Screen, Overlay, or Embedded type of Signatures. Custom Paper Sizes Create your own custom paper size dimensions from the Print dialog under Paper Size. FileMaker Go 16 Technical Specs Requires iOS devices running iOS 10 or later on the iPad Pro, iPad, iPad mini, iPhone and iPod touch. FileMaker Server 16 Server has always been known for its ease of use and ability to run without any problems. The newest version focuses on performance improvements, security updates, and many enhancements related to WebDirect, specifically PDF on Server support, and additional security such as OAuth 2.0 accounts. FileMaker Rest API The future of FileMaker Web Publishing has arrived. While FileMaker continues to support the FileMaker PHP API for Custom Web Publishing they have stated their focus moving forward is the new Rest API now released. The FileMaker Data API is available as a free trial until Sept 27th, 2018. Learn more about the FileMaker Rest API as Mason Stenquist looks at how to use the new API. PDF from FileMaker Server You can now print a PDF from FileMaker Server running a server schedule or via FileMaker WebDirect. It was always assumed that you could do this but in reality in order to print a PDF from FileMaker Server required many different techniques such as How to Create a FileMaker PDF from FileMaker Server. Now it is as simple as originally expected, but note you must have the fonts installed on the FileMaker Server. See the simplicity of Printing FileMaker PDFs from Server as Brendan McBride shows you printing a PDF from FileMaker Server. Tableau Web Data Connector You can now connect Tableau to your FileMaker Server to visualize your data. Tableau is a leader in produces interactive data visualization products focused on Business Intelligence. Before you had to export and import the data, now you can connect directly to your FileMaker Server to see data in realtime visually. FileMaker WebDirect WebDirect is the flagship FileMaker web app client for a browser and doesn’t involve any web programming. This version adds the ability to scale up to 500 users at once. You can now have one Master Server and up to five Worker Servers (each gives you up to 100 users) to achieve up to 500 users for WebDirect. Users who are using WebDirect should get lots of RAM for FileMaker Server machines to have optimal performance. For Androids, FileMaker WebDirect, Custom Web Publishing, or the new Restful API are the only ways to deploy a FileMaker-based application. FileMaker Cloud FileMaker offers a new way to deploy your custom application with FileMaker Cloud as of September 2016! This new product is available ONLY through Amazon Web Services (AWS) and gives you FileMaker Server in minutes. FileMaker Cloud is fast, lowers long term maintenance, and is secure. The new features for FileMaker Server 16 are not available as of yet for FileMaker Cloud such as Print to FileMaker Server PDF, Rest API, OAuth, and up to 500 WebDirect connections. Check out this detailed overview of FileMaker Cloud for AWS from David Happersberger our FileMaker Licensing Specialist. FileMaker Server 16 Technical Specs Compatible with Windows Server 2016 Standard Edition, Windows Server 2012 R2 Standard with Update Microsoft KB2919355 and Windows Server 2008 R2 SP1 Standard or Enterprise (deprecated), macOS Sierra 10.12, and OS X El Capitan 10.11. WebDirect browser support includes Safari 10.x, IE 11.x, Microsoft Edge 38+, Chrome 55+. Mobile browsers Safari 10.x and Chrome 55 on Android 6.x. Note that Firefox is not on the list of supported browsers. Summary The FileMaker platform continues to be the leader in creating powerful custom applications for organizations all around the world and works seamlessly across Windows, Mac, iPad, iPhone, and the web. The new release of FileMaker 16 further emphasizes this. FileMaker Go continues to give the platform a competitive edge. Allowing organizations to create custom applications for iOS devices while providing an incredible ROI. Creating prototype applications on the iPad and iPhone is a matter of hours not months. FileMaker 16 is one of the largest releases and is full of features you can benefit from. We look forward to building amazing custom applications using the new tools for Mobile, Web and the Desktop. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Afficher la totalité du billet
  14. FileMaker PDF from Server

    FileMaker PDF from Server FileMaker Server 16 now has the ability to create PDFs on the server! Gone are the days of creating overly complicated PHP setups and unreliable FileMaker Pro robot machines. FileMaker 16 is jam packed with loads of new features, one of the most exciting is it’s new PDF capabilities. Here are a few of the great new features FileMaker Server 16 adds for PDFs: New Features Server Schedules & Perform Script on Server (PSOS): Save Records as PDF is fully supported with server side schedules and perform script on server. WebDirect: Both Print and Save Records as PDF script steps are supported. Print first open a View as PDF dialog, then it will open a new window or tab. Save Records as PDF will download the PDF directly to the users download folder. Important Notes There are a few features that are not yet supported on FileMaker Server when it comes to print forms and a few settings that need to be handled. Here are some points that you will want to keep in mind: Fonts: You will need to ensure that any fonts that your print forms use are also installed on the FileMaker Server machine. WebDirect Popups: The Print script step for WebDirect is a popup, so you will want to ensure that your users enable popups for your database. WebDirect Menu: View as PDF is the only PDF option accessible from the WebDirect drop down menu. Server Schedules & PSOS: The print script step is not supported with server side schedules and perform script on server. Custom Web Publishing: FileMaker Server CWP will NOT be able to create PDFs, even when running a script using the PHP API. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Afficher la totalité du billet
  15. Location Monitoring in FileMaker Go

    Location Monitoring in FileMaker Go Have you ever wanted your FileMaker Go app to send messages when a tech arrives onsite for a service request, or to notify management when that very same tech leaves? How about to guide potential customers at a show to the booths they would be interested in? With FileMaker 16, you can have your FileMaker Go app automatically perform actions based on the user’s location. This is made possible by two new features: a new script step named “Configure Region Monitor Script” and a new function named “Get ( RegionMonitorEvents )” Below is how you can set up and use these new features in your solutions. 1. Configure Regions to Monitor The first step is to set up the regions that we want to monitor and track the resulting actions when a user enters or exits the specified regions. The Configure Region Monitor Script script step allows FileMaker to monitor up to 20 regions at a time. Let’s look at options you need to specify when using this script step. 1. 1 General Options Monitor: allows you to specify which method (iBeacon or geofence) you want to use for monitoring a user’s location. A third option, “Clear,” is used to stop monitoring a certain region. Name: sets the name of the region that you are monitoring. Keep in mind each region you are monitoring must have a unique name. If you run this script step with a name that’s already being monitored, the previous setting will be overwritten. If the Monitor option is “Clear” then your iOS device will stop monitoring the region with the name specified. Script: sets the script you want to run when your iOS device enters or exits the monitored region. 1.2 Geofence specific options The geofence option utilizes GPS to locate iOS devices. It can monitor locations in a much larger area but tends to be less accurate, making it a great choice for outdoor use. Latitude: specifies the latitude of the center for the region. Longitude: specifies the longitude of the center for the region. Radius: specifies the radius (in km) of the region. Visually, think about a geofence region as something like this: The latitude and longitude will mark the center of the circle, whereas the radius will set the size of the circle. 1.3 iBeacon specific options The iBeacon option uses a bluetooth low energy (BLE) signal to communicate with beacons (iBeacon devices) around you, monitoring your location. They have high accuracy but relatively small coverage compared to Geofence, making it very useful for indoor use. UUID: specifies the unique identifier of the beacon(s) you want to monitor. If you want to monitor a fleet of beacons in your store, then all the beacons should use the same UUID. Major (optional): specifies the major value of the beacon(s) you want to monitor. Helps you narrow down the number of beacons you want to keep track of. Minor (optional): specifies the minor value of the specific beacon you want to monitor. 1.4 Tips and Notes It’s important to note that values specified in the script parameter will be evaluated when the specified script runs, not when the region is configured. If you want to pass data from fields as parameters, keep in mind it will be the values on the current record when the script runs, not those when the region was first configured. Also, similar to the OnTimer trigger, regions configured are tied to the window in display when the specified script runs. So if this window is closed, all configured monitors will be cleared out. 2. React To Region Monitor Events Now that we have our monitored regions configured, the attached scripts will run whenever the user enters or exits the area. But how do we know if the user is entering or leaving a region, and what if we want different actions for each? The Get ( RegionMonitorEvents ) function will help with that. In the script that you set the Configure Region Monitor Script step, you can use Get ( RegionMonitorEvents ) function to return the action that caused this script to run. This will list all the events associated with that region in chronological order in the following format: <region name> <timestamp>;<1 or 0> <timestamp>;<1 or 0> <timestamp>;<1 or 0> 1 means the iOS devices entered the monitored region, and 0 means it has left it. For example, if I entered a region named “Job site 1” at 9:00 am on March 31st 2017, this function will return: Job site 1 3/31/2017 9:00:00 AM;1 If I left the site at 5:00 pm the same day, the function will return: Job site 1 3/31/2017 9:00:00 AM;1 3/31/2017 5:00:00 PM;0 Using this, we can tell whether the user is entering or exiting the named region and have the script perform differently as needed. 3. Possible iBeacon and Geofence Use Cases Since iBeacon and geofence offer different coverage and accuracy, let’s look at which option is more suitable for certain use cases. 3.1 Retail Stores & Trade Shows – iBeacon When customers walk into a store, the store can greet them on their iOS device. Contextualized promotion and product information can be sent to customers when they enter a certain area of a store. Indoor navigation information can be pushed to customers based on their location. You can even merge the online and offline shopping experience. Customers can purchase products online and your app can help guide them to pick it up in the store. 3.2 Employee Location Tracking – Geofence & iBeacon You can use this feature to build a fully automated location based timecard system. Wonder whether your employee is working hard onsite or off doing something else? This can help you determine their location. 3.3 Tour & Educational Apps – Geofence & iBeacon Depending on the size of the site you can use geofence, iBeacon, or both to push information to tourists when they arrive at a certain location. Have your app tell guests a beautiful story about a lake in the park, play a song about a heroic historical event where they stand, or play a video to give art lovers a deeper understanding of a masterpiece hanging on the museum wall. You can also work with local vendors to add promotional material in your app. You can even make games by combining the two ideas together. Imagine traveling the freedom trail and receiving a 25% discount on a lobster roll after visiting all the sites. 3.4 Location-Based Reminder – Geofence & iBeacon Driving toward a client for a big proposal meeting? You can have your app push the client’s information (including pictures and videos), your contact history and all the documents they sent you before you arrive at the client-site to help you seal the deal. You can automatically play safety instruction videos when someone is about to operate something dangerous. This could be in a warehouse, a lab or wherever safety comes first. Ever get home from the grocery store only to suddenly remember something you forgot? You can build an app that will send your shopping list when walking by a grocery store. Conclusion FileMaker 16 has introduced new location monitoring features that truly give FileMaker Go the edge by enhancing your app’s ability to take on any location-specific needs. Whether you’re indoors, outdoors, coming, or going, FileMaker can monitor it all. Did you know we are an authorized reseller for FileMaker Licensing? Contact us to discuss upgrading your FileMaker software. Download Location Monitoring in FileMaker Go Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* Terms of Use I agree OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime. Afficher la totalité du billet
×