{"id":18045263,"url":"https://github.com/dpb587/node-endicia-mac","last_synced_at":"2025-04-05T03:41:39.996Z","repository":{"id":138804506,"uuid":"1917976","full_name":"dpb587/node-endicia-mac","owner":"dpb587","description":"Integrate Endicia for Mac with node.js workflows","archived":false,"fork":false,"pushed_at":"2011-06-19T06:50:02.000Z","size":94,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-10T11:48:25.409Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dpb587.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-06-19T01:58:02.000Z","updated_at":"2018-10-15T03:03:04.000Z","dependencies_parsed_at":"2023-03-11T18:45:54.395Z","dependency_job_id":null,"html_url":"https://github.com/dpb587/node-endicia-mac","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpb587%2Fnode-endicia-mac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpb587%2Fnode-endicia-mac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpb587%2Fnode-endicia-mac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpb587%2Fnode-endicia-mac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dpb587","download_url":"https://codeload.github.com/dpb587/node-endicia-mac/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284914,"owners_count":20913691,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T18:12:40.573Z","updated_at":"2025-04-05T03:41:39.980Z","avatar_url":"https://github.com/dpb587.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"node-endicia-mac\n================\n\nA simple option for interacting with [Endicia for Mac](http://mac.endicia.com) by printing and responding to postage\nusing their [XML Interface](http://mac.endicia.com/extras/xml/). This makes it easy for integrating into existing\nworkflows like:\n\n * listening and responding to a postage queue server as packages are being prepared\n * printing labels and then sending back the postage and tracking information to the database\n\nThis project is in no way affiliated with or endorsed by [Endicia](http://www.endicia.com/).\n\n\n\nRequirements\n------------\n\n * Endicia for Mac -- installed and setup with an active account\n * `endiciatool` -- installed from the Extras folder of the Endicia for Mac disk image\n * node modules ([`node-xml`](https://github.com/robrighter/node-xml)) -- install with `npm install node-xml` or\n   `git submodule init`\n\n\n\nUsage\n-----\n\n    var xml = '\u003cDAZzle\u003e\u003cPackage ID=\"12345\"\u003e...\u003c/DAZzle\u003e';\n    require('endicia-mac').send(xml, function (err, packages) {\n        if (err) throw err;\n        \n        console.log('Tracking #' + packages[12345].PIC);\n        console.log('Postage: $' + packages[12345].FinalPostage);\n    });\n\nCall the `send` method, passing your DAZzle XML request and a callback function. The callback may receive three\narguments: `err`, `packages`, and `raw`. If an error occurred, `err` will be non-null and an `Error` object. The `raw`\nargument is the untouched STDOUT from `endiciatool`. The `packages` argument will be a JavaScript object of package IDs\nand their parsed output values, similar to:\n\n    { '12345': \n       { Status: 'Success',\n         PIC: '9412312123456123456781',\n         RetailPostage: 4.68,\n         FinalPostage: 4.56,\n         Balance: 234.56,\n         TransactionID: 0,\n         TransactionDateTime: Tue, 19 Jun 2011 01:23:45 GMT,\n         PostmarkDate: Mon, 18 Jun 2011 04:00:00 GMT,\n         WeightOz: 16,\n         Zone: 7 } }\n\nIf `endiciatool` cannot be found in `$PATH`, you may explicitly specify it:\n\n    var endicia = require('endicia-mac');\n    endicia.bin = '/usr/local/endicia/bin/endiciatool';\n    endicia.send(...);\n\n\n\nDemo\n----\n\nWhile these have the Test flag set to prevent them from using real postage, they will still try to print the test label.\n\n**easy.js** - super simple, static example showing how to invoke the module\n\n**jsonify.js** - very similar to the core `endiciatool` but will output the JSON instead of XML. Will accept the DAZzle\nXML via STDIN or as a file path in the first argument\n\n    $ node ./demo/jsonify.js ./demo/demo.xml\n    {\"12345\":{\"Status\":\"Success\",\"PIC\":\"9412312123456123456781\",\"RetailPostage\":4.68,\"FinalPostage\":4.56,\"Balance\":234.56,\"TransactionID\":\"0\",\"TransactionDateTime\":\"2011-06-19T01:23:45.000Z\",\"PostmarkDate\":\"2011-06-18T04:00:00.000Z\",\"WeightOz\":16,\"Zone\":7}}\n\n\n\nUnit Tests\n----------\n\nTo run, you will need [`vows`](https://github.com/cloudhead/vows) - use `npm install vows` or `git submodule init`\n\n    $ [./node_modules/vows/bin/]vows ./test/endicia.js\n\n\n\nLicense\n-------\n\nCopyright 2011 Danny Berger \u0026lt;[dpb587@gmail.com](mailto:dpb587@gmail.com)\u0026gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit\npersons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the\nSoftware.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\nWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpb587%2Fnode-endicia-mac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdpb587%2Fnode-endicia-mac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpb587%2Fnode-endicia-mac/lists"}