{"id":17491763,"url":"https://github.com/eyrmedical/ibm_push","last_synced_at":"2025-08-25T05:14:33.122Z","repository":{"id":57506122,"uuid":"84112665","full_name":"eyrmedical/ibm_push","owner":"eyrmedical","description":"Wrapper to use IBM Bluemix Push notification REST API.","archived":false,"fork":false,"pushed_at":"2017-03-07T12:01:50.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-19T11:13:28.707Z","etag":null,"topics":["elixir","elixir-library","ibm-bluemix","push-notifications","rest-api"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","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/eyrmedical.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":"2017-03-06T19:33:01.000Z","updated_at":"2017-03-06T19:38:02.000Z","dependencies_parsed_at":"2022-08-29T20:00:30.573Z","dependency_job_id":null,"html_url":"https://github.com/eyrmedical/ibm_push","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyrmedical%2Fibm_push","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyrmedical%2Fibm_push/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyrmedical%2Fibm_push/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyrmedical%2Fibm_push/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eyrmedical","download_url":"https://codeload.github.com/eyrmedical/ibm_push/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246068263,"owners_count":20718501,"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":["elixir","elixir-library","ibm-bluemix","push-notifications","rest-api"],"created_at":"2024-10-19T08:04:50.536Z","updated_at":"2025-03-28T16:46:50.843Z","avatar_url":"https://github.com/eyrmedical.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IBMPush\n\nA simple wrapper for IBM Bluemix push notification REST API.\nStrictly follows the [REST API specs](https://mobile.eu-gb.bluemix.net/imfpush).\n\n## Installation\n\nPackage can be installed by adding `ibm_push` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [{:ibm_push, \"~\u003e 0.1\"}]\nend\n```\n\n### Config\n\nCopy your push service credentials from Bluemix UI, to application config file:\n\n```\nconfig :ibm_push, IBMPush,\n  appGuid: \"************\",\n  url: \"http://imfpush.eu-gb.bluemix.net/imfpush/v1/apps/*************\",\n  admin_url: \"//mobile.eu-gb.bluemix.net/imfpushdashboard/?appGuid=************\",\n  appSecret: \"*************\",\n  clientSecret: \"************\"\n```\n\n# Usage\n\nCheck the `test` folder for usage examples.\n\n## Devices\n\n### Get existing device\n`{:ok, response} = IBMPush.devices()`\n\n### Add new device\n```\n{:ok, response} = IBMPush.new_device(%{\n  \"deviceId\" =\u003e device_id,\n  \"platform\" =\u003e \"A\",\n  \"token\" =\u003e IBMPush.config(:testAppleDeviceToken),\n})\n```\n\n### Delete existing device\n`:ok = IBMPush.delete_device(device_id)`\n\n## Tags\n\n### Get existing tags\n`{:ok, response} = IBMPush.tags()`\n\n### Add new tag\n```\n{:ok, response} = IBMPush.new_tag(%{\n  \"name\" =\u003e tag_name,\n  \"description\" =\u003e \"Test tag\"\n})\n```\n\n### Delete existing tag\n`IBMPush.delete_tag(tag_name)`\n\n## Subscriptions\n\n### Get existing subscriptions\n`{:ok, response} = IBMPush.subs()`\n\n### Add new subscription\n```\n{:ok, response} = IBMPush.new_sub(%{\n  \"deviceId\" =\u003e device_id,\n  \"tagName\" =\u003e tag_name\n})\n```\n\n### Delete existing subscription\n`:ok = IBMPush.delete_sub(device_id, tag_name)`\n\n## Messages\n\n### Post new push notification\n```\n{:ok, response} = IBMPush.new_message(%{\n  \"message\" =\u003e %{\n    \"alert\" =\u003e \"Test alert\"\n  }\n})\n```\n\n# Roadmap\n\n- [ ] Applications\n  - [ ] GET /apps/{applicationId}/settings\n  - [ ] DELETE /apps/{applicationId}/settings/apnsConf\n  - [ ] GET /apps/{applicationId}/settings/apnsConf\n  - [ ] PUT /apps/{applicationId}/settings/apnsConf\n  - [ ] DELETE /apps/{applicationId}/settings/gcmConf\n  - [ ] GET /apps/{applicationId}/settings/gcmConf\n  - [ ] PUT /apps/{applicationId}/settings/gcmConf\n  - [ ] DELETE /apps/{applicationId}/settings/safariWebConf\n  - [ ] GET /apps/{applicationId}/settings/safariWebConf\n  - [ ] PUT /apps/{applicationId}/settings/safariWebConf\n  - [ ] GET /apps/{applicationId}/settings/gcmConfPublic\n  - [ ] DELETE /apps/{applicationId}/settings/chromeWebConf\n  - [ ] GET /apps/{applicationId}/settings/chromeWebConf\n  - [ ] PUT /apps/{applicationId}/settings/chromeWebConf\n  - [ ] DELETE /apps/{applicationId}/settings/firefoxWebConf\n  - [ ] GET /apps/{applicationId}/settings/firefoxWebConf\n  - [ ] PUT /apps/{applicationId}/settings/firefoxWebConf\n  - [ ] DELETE /apps/{applicationId}/settings/chromeAppExtConf\n  - [ ] GET /apps/{applicationId}/settings/chromeAppExtConf\n  - [ ] PUT /apps/{applicationId}/settings/chromeAppExtConf\n  - [ ] GET /apps/{applicationId}/settings/chromeAppExtConfPublic\n- [ ] Devices\n  - [x] GET /apps/{applicationId}/devices\n  - [x] POST /apps/{applicationId}/devices\n  - [ ] GET /apps/{applicationId}/devices/report\n  - [x] DELETE /apps/{applicationId}/devices/{deviceId}\n  - [ ] GET /apps/{applicationId}/devices/{deviceId}\n  - [ ] PUT /apps/{applicationId}/devices/{deviceId}\n- [ ] Messages\n  - [x] POST /apps/{applicationId}/messages\n  - [ ] POST /apps/{applicationId}/messages/bulk\n  - [ ] GET /apps/{applicationId}/messages/report\n  - [ ] DELETE /apps/{applicationId}/messages/{messageId}\n  - [ ] GET /apps/{applicationId}/messages/{messageId}\n  - [ ] PUT /apps/{applicationId}/messages/{messageId}\n  - [ ] GET /apps/{applicationId}/messages/{messageId}\n- [x] Subscriptions\n  - [x] DELETE /apps/{applicationId}/subscriptions\n  - [x] GET /apps/{applicationId}/subscriptions\n  - [x] POST /apps/{applicationId}/subscriptions\n- [ ] Tags\n  - [x] GET /apps/{applicationId}/tags\n  - [x] POST /apps/{applicationId}/tags\n  - [x] DELETE /apps/{applicationId}/tags/{tagName}\n  - [ ] GET /apps/{applicationId}/tags/{tagName}\n  - [ ] PUT /apps/{applicationId}/tags/{tagName}\n- [ ] Webhooks\n  - [ ] GET /apps/{applicationId}/webhooks\n  - [ ] POST /apps/{applicationId}/webhooks\n  - [ ] DELETE /apps/{applicationId}/webhooks/{webhookName}\n  - [ ] GET /apps/{applicationId}/webhooks/{webhookName}\n  - [ ] PUT /apps/{applicationId}/webhooks/{webhookName}\n\n# Testing\n\nAdd the following line in your **test** config environment before running `mix test`.\n\n```\nconfig :ibm_push, IBMPush,\n  testAppleDeviceToken: \"*****************\"\n```\n\n# Disclaimer\n\n**This library is in it's early beta, use on your own risk. Pull requests / reports / feedback are welcome.**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feyrmedical%2Fibm_push","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feyrmedical%2Fibm_push","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feyrmedical%2Fibm_push/lists"}