Jump to content

cogative

Members
  • Posts

    44
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by cogative

  1. Hello all! After a period of testing, the Enverido BETA is now over! If you've already registered an Enverido account, you still have access to the the $10/month unlimited subscription plan, even if you haven't subscribed yet. If you haven't registered then all is not lost! As a thanks to the Blesta community for your great feedback and participation in the BETA, here's a coupon code for 25% off for the first 3 months of an Enverido subscription: "THANKSBLESTA". This coupon will expire after Christmas day 2016! We're also now looking for resellers to help get Enverido to as many customers as possible. We have a Blesta module ready to go that enables you to resell accounts through your existing Blesta installation. If you're interested in this, please drop me a PM! To summarise, there's now... Fully functioning Web UI to view and manage licences and products Fully functioning API to create/update/suspend/renew licences Blesta module which supports all of the API's licence functions PHP library which supports all of the API's functions Includes helper classes to simplify licence verification and activation API is fully documented Documentation available for helper classes of the PHP library PHP library code is documented with comments Reseller option available for those who would like to resell Enverido API endpoints are available to integrate this into any platform you currently use Blesta module available PHP library supports all reseller API endpoints Documentation on reseller API endpoints is available In the works... WHMCS module More detailed reporting and analytics (how many times a licence has been activated, where the activations occurred, etc) Full online documentation for the PHP library Self-hosted "Enterprise" edition Other features suggested by the Blesta community! Thanks again guys!
  2. My apologies - the updated pricing still includes the free plan. We've upped the number of free licences up to 10, as well.
  3. There's no limit to the number of issuing authorities on any of our plans, and we have no plans to introduce one Issuing authorities can issue licences for any product, by the way - they're there to make reporting a bit nicer, rather than a technical limitation (IE: there's no one-to-one relation between products and issuing authorities)
  4. Our free plan (The "homebrew" plan) currently has a limit of 10 licences, are you suggesting lowering this to 3-5?
  5. Hi all, We've updated our pricing for the post-BETA release of Enverido. We're thinking of the new pricing being $15/month for the start-up plan, and $25/month for the business plan. Does anybody have any thoughts on this? I know a couple of people thought the $50/month for the business plan was a little steep.
  6. See the edit I just made to my previous post, but essentially you could just throw that into your module's root directory, change some of the details to fit your module, add the "enverido/php" line to the "requires" section and you're pretty much good to go . In the module files themselves (eg: "mymodule.php") make sure to make a "require_once" call to the autoload.php file that's generated by Composer. If you google a general tutorial on Composer I'm sure this'll be covered. But essentially you require_once the autoload.php file, and that file automatically includes all the libraries you installed using Composer.
  7. Take a look at an example composer.json for a Blesta module here: https://github.com/enverido/blesta/blob/master/composer.json (@Paul might be able to provide a better example?) But to include the Enverido PHP library, you'd just add "enverido/php" under the "requires" section of the composer.json for the module. You could also remove GuzzleHTTP and PsySH from the composer.json, since they'll automatically be installed if you add "enverido/php".
  8. Composer will only install from the composer.json in the current working directory, so as far as I'm aware there shouldn't be any confusion between composer configurations for your modules and Blesta. I'm not sure if there's a way for Blesta to automatically execute composer to install the module, or if you have to do it yourself manually. I know when I was doing it I just executed "composer install" after uploading the module files. Are you trying to use the Enverido PHP library to license your module?
  9. The GitHub repository deliberately doesn't have a vendor/ directory, so that it can be used with Composer to install the module, and this allows the package to be listed on Packagist. If you want a "pre-packaged" version with a vendor directory already setup, you can download via the marketplace or through enverido itself. The reason I ended up doubling up the try/catch statements was that i was finding that adding the if(...) statement underneath each command didn't always trigger the Blesta view with an error, even if the setErrors(..) command had just been executed, and instead the code ended up throwing an exception where certain variables were "null". That's why the try/catches sometimes appear in both files (this and to allow a central "point" to log the API requests, rather than to manually log the request every place it's made in the module. I'll definitely look into refactoring it in the near-future, but it's a working solution so it's not a top priority right now. Feel free to make a pull request, but by no means feel obligated to - I agree that a cleaner method is certainly a possibility, and I'm going to look into reimplementing the API in the Blesta module, using the PHP library.
  10. Latest Blesta module release (1.3.5) is available on GitHub and the marketplace, now! API calls are now logged to Blesta's module logs, and API exceptions are caught and displayed to the user in a nice format. I think I've got them all, but if anybody runs into an exception that isn't caught let me know and I'll push out a new version. As usual, the update process is a simple drop in the new version, overwriting the old copy. Let us know if you run into any issues!
  11. I'm just adding catching API exceptions, I'll add logging the request/response to Blesta's module logs at the same time
  12. Ha! Well you sure proved me wrong! I'll see if I can change that a 4xx response. The principle still stands the same though, the Guzzle HTTP client will still catch 500 responses and throw an exception, so we could still wrap the API call in a try/catch then feed the error back to Blesta (with the exception message, for good measure!) If you're asking why this error was thrown: it's likely you haven't included an "email" form field before sending the request. Parameters required are here: https://docs.cogative.com/pages/viewpage.action?pageId=1409441#id-/licence-POST Not sure if it was just an example or a genuine question, so I thought I'd cover all bases! Edit: If you retry that erroneous request now, you should get a 400 bad request code, instead of a 500 code. The reason a 500 code was returned before is because that's what our exceptions default to when not provided with a specific code. The code isn't as important since the message attached to the error explains the issue pretty well, but it makes sense semantically for this to be a 400 bad request instead of a 500 internal server error code. I've also changed other exceptions encountered when generating a licence to be 400 bad requests (eg: missing IP/domain), instead of 500 errors.
  13. To add some more info: The API wil throw an HTTP response error of some kind if your request fails (normally either 403, 404 or 401 for any errors we "expect" to occur - generally things like trying to access a licence or product you don't own, a licence or product that doesn't exist, or a missing API key). I can't think of any 5xx errors that are thrown by the API unless you maybe deliberately malform the API URL. Guzzle's HTTP client will throw a ClientException if any of these codes are encountered, so in the Blesta module's API class we can just wrap the requests in a Try/Catch statement and then return a different response to the Blesta module class, which can then feedback an error to the user. Edit: I just took a look at some of the existing Blesta modules, and it looks like it'd be easier to wrap the try/catch around the API call inside the module class, instead of inside the API class itself. This makes it easier to pass the errors back to the Blesta UI for the user to action. @Paul does that sound like a sensible course of action to you?
  14. Thanks - appreciate that. I'll also take a look at it tomorrow. Are you speaking specifically about the error with the organisation name with multiple words? Edit: later today, now - UK time! Input validation errors are presented to Blesta (eg: if you don't enter an API key, stuff like that). Some internal API failings do have to be mapped to an output in Blesta, though (this is stuff that shouldn't generally be an issue, eg: if your API key is incorrect).
  15. That is the other alternative. The organisation name isn't used anywhere in enverido other than to construct the API URL (currently, at least) so we'll have to look at the pros and cons of both options. I suspect not allowing the non-alphanumeric characters in the first place might lead to less confusion though. (eg: if somebody enters "bla bla company" as their API URL, the lookup will fail before it gets to our servers to query the URL - I think, at least.)
  16. Sorry - I just figured out the problem before you posted. The organisation name is used as the beginning of your API endpoint. So if your organisation is "My Cool Company" then you should set it in enverido as "MyCoolCompany" without any spaces. If there are spaces then the URL doesn't resolve properly (just like any other URL). So when making API calls your calls go to: https://mycoolcompany.enverido.com/... The organisation name is case in-sensitive though, so you can set the organisation name as "MyCoolCompany" in enverido (using camel-case to separate the words out neatly) and still use the URL https://mycoolcompany.enverido.com/ . This is a validation error on our part - you should never have been allowed to enter characters into your organisation name that can't appear in a URL. I'll fix this for tomorrow so that organisation names must be one word and other special characters aren't allowed. Thanks for bringing it to my attention!
  17. From what I gather, are you saying if the organisation name is two words then there is an error is thrown? Are you putting the organisation name in double quotes? If you PM me the error you're encountering I'll look into this - thanks for raising it! See the "fix" I post below I'll also set the minimum PHP version in the composer.json file.
  18. We've just released a new version of the Blesta module, available on the marketplace now! As @Paul suggested, the module now deletes licences when a service is cancelled, instead of suspending the licence. Suspending the service will still suspend the licence, and unsuspending the service will still unsuspend the licence. It's a straight-forward upgrade, just replace the current "enverido" folder in Blesta's "components/modules" directory with the new one, then go to Blesta's module administration and click the upgrade button next to enverido!
  19. The PHP library has been updated, licences can now be created and deleted easily using the library. The latest changes are now on GitHub here: https://github.com/enverido/php, and as usual can be pulled into your project via Composer. There's no complete documentation for the PHP library yet, but to take a look at how to create and delete a licence via the library in the LicenceTest class, here: https://github.com/enverido/php/blob/master/tests/LicenceTest.php - essentially to create a licence you just need to make an API object using your API key and organisation name. Create a product object using the API object you just made and a product ID, and then create a licence by passing in the values required for the API call (which you can see here: https://docs.cogative.com/pages/viewpage.action?pageId=1409441#id-/licence-POST) - hopefully it's all fairly self explanatory.
  20. Ah okay, that's interesting to know. I might change the default behaviour, then.
  21. @naja7host Licences can now be removed via the web UI and the API. To remove via the web UI, simply click "Delete" to the right-hand side of the licence where it's listed under the "Licences" page. If you're logged in, click here to get to that page. To remove a licence via the API, take a look at our documentation, here. As usual, it's a pretty simple 1-call request that will return either a successful response with some information about the licence you just deleted, or it will return an error and error code if there was a problem (common problems would be that you forgot to add an API key to the request, you're trying to delete a licence that isn't yours, or the licence has already been deleted, or never existed in the first place). Deleting a licence will be added into the PHP library shortly - If, for some reason, you need it in the next couple of hours, you can make an API request to delete the licence. Just instantiate a new "Api" class and then get the Guzzle HTTP client using the getClient() method. The default behaviour of our Blesta module is still to suspend a licence, even if the service is cancelled. We've done this for the sake of data integrity. If you want to change this behaviour, you can fork our Blesta module on GitHub and modify the module to delete a licence if the service is cancelled, instead. Deleting a licence means that it will no longer be included in your total licence count. An easy rule to remember is that if the licence appears in the list under the "Licences" page, it will be counted as one of your licences - even if it's expired or has been suspended. If there's enough interest, we could add some tools which allow you to delete all the expired licences, or all of the suspended licences, in one fell-swoop, but that's a pretty risky move so I'm somewhat hesitant to add it initially, at least. Hope this helps! Let me know if you run into any issues.
  22. The 10 licences limit includes suspended licences too (this is because these licences can be "unsuspended" and made active again, and it's difficult to predict whether or not your customer is going to decide to renew their licence to unsuspend it - if they did and the suspended licence didn't count towards your totals you could run into problems where an existing customer can't unsuspend a licence they've paid for. From sometime later today (21st Sept. 2016) you'll also be able to delete licences. both via the API, the PHP library and also the enverido web UI. This will remove the licence and all of its data from the licence server, freeing up one item in your licence count. If you delete a licence, it can't be renewed like a suspended one can, and any products or 3rd party integrations using that licence will stop functioning correctly (eg: if the licence is provisioned in Blesta, and then you delete it via the API from your PC, Blesta will not have a good time). We're just carrying out the final tests to make sure everything works properly when deleting licences before we launch it onto the live servers - so like I said, expect it at some point later today. I can drop you a PM when the feature goes live, if you like?
  23. Just a quick update for you guys. The PHP library is now at a point where it's very easy to activate and verify licences. Take a look at the library on GitHub, here: https://github.com/enverido/php There's a link to the full documentation on the GitHub page, but for an example of how simple it is to verify a licence check out this page: https://docs.cogative.com/display/ENVD/Verifier
  24. Thanks! Let me know if you have any feedback at all.
×
×
  • Create New...