Documentation

License

Article author
Admin
  • Updated

Every ediFabric .NET call needs a serial key from your plan. Copy it from Your Account after you sign up for Community or buy a plan. The same serial covers ediFabric .NET, Native, and Cloud.

In the examples, paste it into TrialSerialKey in Config.cs. For X12 that file is NET Framework 4.8/EdiFabric.Examples.X12.Common/Config.cs. The .NET 6 projects link it, so one edit covers both solutions.

Which call to use

Call one of these before you parse, generate, validate, or acknowledge. The examples call License.SetSerial(Config.TrialSerialKey). On Developer, call License.EnsureToken instead.

Plan What works Call this
Community License.SetSerial only. Online check. 250 operations per day. Non-production. Never expires. License.SetSerial
Developer License.SetSerial and License.EnsureToken. EnsureToken caches the result for 1 day. License.EnsureToken
Enterprise License.SetSerial, License.GetToken, and License.SetToken. Offline tokens last 30 days by default, or 90 or 180 days on request. License.SetToken
// Community: authorize against the license server
License.SetSerial(serial);

// Developer (recommended): 1-day built-in cache; refreshes if the token expires within N seconds
License.EnsureToken(serial, seconds: 3600);

// Enterprise: set an offline token
License.SetToken(token);

One operation is one parse, generate, validate, or acknowledge call. The Community quota of 250 a day is shared across ediFabric .NET, Native, and Cloud. Past that, calls throw LicenseException with error 639.

Use of the product is subject to the EULA. Upgrading is a serial-key swap. On Developer or Enterprise, switch to the call in the table.

During an Enterprise trial, use License.EnsureToken. Offline tokens are issued after purchase.

Developer: let EnsureToken cache the check

License.EnsureToken contacts the license server, then keeps the result in the process for one day. Pass seconds to refresh early, before the cached token expires. A later network blip or a long batch keeps running on that cache.

License.GetToken is not available on Developer. Calling it throws LicenseException with error 628. Use EnsureToken.

Developer and Enterprise allow up to 10,000 token requests per day across .NET and Native. If you exceed the rate, wait 60 seconds (error 636). A seat is one environment: Community leases 1, Developer leases 3, Enterprise is unlimited.

Enterprise: run without internet

Air-gapped hosts use an offline token. Retrieve it on a machine that can reach the license server, store it, and apply it with License.SetToken where the EDI runs. After the token is set, translation does not contact EdiFabric. The EDI file is never part of a license call.

A connected job writes a token to cache. Offline apps read that token and call SetToken.

  1. On a schedule, from a host that has internet, call License.GetToken(serial). Run it daily, or at least before the token lifetime (30 days by default).
  2. Store the token in a file, database, or Redis that the offline hosts can read.
  3. Each EDI process loads a current token and calls License.SetToken(token).
// Host with internet
var token = License.GetToken(serial);
// Save token to your cache

// Offline host
var token = cache.Get();
License.SetToken(token);

TokenFileCache.Set() in EdiFabric.Examples.X12.Common is a file-cache sample of that GetToken / SetToken pair. TokenFileCache.cs. Refresh before the token expires so a missed job does not stop processing. If GetToken fails repeatedly, contact support or support@edifabric.com.

What leaves your network

  • Community. License.SetSerial checks the license server when you translate.
  • Developer. License.EnsureToken checks when the one-day cache is missing or inside the refresh window you set.
  • Enterprise. License.GetToken checks when you mint a token. License.SetToken applies a token you already have and does not call out.

Parse, generate, validate, and acknowledge run in your process. See the privacy policy.

When a license call fails

Failures throw LicenseException. ErrorCode is the number, and Message is the text.

Error 635 means no serial or token was set. Paste the serial into TrialSerialKey and call License.SetSerial or License.EnsureToken. Error 639 means the Community daily quota was exceeded. Upgrade at edifabric.com/pricing to continue.

Code Message
620 The token is invalid. Contact support@edifabric.com for assistance
628 The serial number is missing or incorrect. GetToken doesn't work with developer license. Contact support@edifabric.com for assistance
629 License was not installed. Contact support@edifabric.com for assistance
630 No license to use this version. Contact support@edifabric.com for assistance
631 The token has expired. Get and set a new token to continue. Contact support@edifabric.com for assistance
632 The token is missing. Set token to continue. Contact support@edifabric.com for assistance
633 Reached the maximum number of licenses. Set token to continue. Contact support@edifabric.com for assistance
634 Environment not recognized for licensing or reached the maximum number of licenses. Contact support@edifabric.com for assistance
635 Serial or token not found. Either set token or serial to continue. Contact support@edifabric.com for assistance
636 The rate to get serials was exceeded for your license. Wait for 60 seconds and try again or upgrade your license. Contact support@edifabric.com for assistance
638 The operation is not supported by your license
639 Your license has reached its daily call limit. Upgrade your plan at edifabric.com to continue using the product.

Use the same EdiFabric 11 package in every project. Parser and buffer codes are listed in the X12 README.

What to do if there is no access to the Authentication API

Confirm that external calls to the Authentication API are not blocked from your environment. Community (License.SetSerial) and Developer (License.EnsureToken) need that path. Enterprise hosts that already have a token only need License.SetToken, which does not call out.

If you are setting firewall rules, allow the Authentication API:

Primary

  • Host: api.edination.com
  • IP: 104.211.12.89
  • Port: 443

Secondary

  • Host: api.edifabric.com
  • IP: floating

The Authentication API runs on more than one server, shared between Microsoft Azure and Amazon AWS. EdiFabric calls the Azure endpoint first when it acquires a token. If that endpoint does not respond after the configured timeout and retries, it calls the backup endpoint on AWS.

If both endpoints are down, or no token can be acquired at all, contact support or support@edifabric.com. We will send a temporary token. Install it on your servers as an environment variable or pass it to License.SetToken. EdiFabric then runs offline until connectivity to the Authentication API is restored.

License.SetToken(temporaryToken);

We also publish the temporary token on our X. Contacting us there is useful during an outage.

Share this:

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.