{"_id":"@compusoluciones/microsoft-sdk-test","_rev":"10-eb0728ad5b49f3aa875179f7bc89b77c","name":"@compusoluciones/microsoft-sdk-test","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"_from":"partner-sdk-2@0.1.4","_id":"@compusoluciones/microsoft-sdk-test@0.1.0","_inBundle":false,"_integrity":"sha1-1A8raQcW1QgPFoNDcIUHdFQxAYo=","_location":"/partner-sdk-2","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"partner-sdk-2@0.1.4","name":"@compusoluciones/microsoft-sdk","escapedName":"@compusoluciones/microsoft-sdk","rawSpec":"0.1.4","saveSpec":null,"fetchSpec":"0.1.4"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/partner-sdk-2/-/partner-sdk-2-0.1.4.tgz","_shasum":"d40f2b690716d5080f168343708507745431018a","_spec":"partner-sdk-2@0.1.4","_where":"C:\\clicksuscribe\\api-microsoft","author":"","dependencies":{"chai":"^3.5.0","joi":"^10.2.0","q":"^1.4.1","request":"^2.79.0","request-debug":"^0.2.0","request-promise":"^4.1.1","timestamp":"0.0.1","uuid":"^3.0.1","winston":"^2.4.1"},"deprecated":false,"description":"***\r ## Tabla de contenidos\r * Estructura de las credenciales.\r * Creación del objeto.\r * Consumption Azure\r   * Obtener el consumo de cada cliente o UF del reseller (no incluida para Azure Plan).\r   * Obtener el costo de todas las suscripciones de un cli","devDependencies":{"babel-cli":"^6.23.0","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babel-register":"^6.23.0","eslint":"^3.13.1","eslint-config-airbnb":"^11.1.0","eslint-plugin-import":"^1.15.0","eslint-plugin-jsx-a11y":"^2.2.2","eslint-plugin-react":"^6.3.0"},"license":"ISC","main":"index.js","name":"@compusoluciones/microsoft-sdk-test","scripts":{"babel-version":"babel --version","build":"mkdir dist && babel src -s -d dist","test":"mocha --recursive src/"},"version":"0.1.0","gitHead":"388a3c768c2ccf82b0e89cb8d4ab7020a1c0483e","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-4od8J67viovVcihE8BK5/uwiadjZXQQetYNem+J5nNeQSSjWK08LRKiF51Lr6S1UFspSQJYBgQ3EG+3fWv1wfA==","shasum":"28fbd5ef7c63f34bb96aee2519584ac11254a639","tarball":"https://registry.npmjs.org/@compusoluciones/microsoft-sdk-test/-/microsoft-sdk-test-0.1.0.tgz","fileCount":99,"unpackedSize":436661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfexgtCRA9TVsSAnZWagAAQvgP/0GhWKRVoCHuwdTI/RA/\nXKNWdxfm+B6ynyeNm0gDOV7Lon6oiYk+RziEgGqrD1D79cEGvqTQFByySC6l\nrJrDKQMyMgT4KLDdVeapHQWvKkBmTiR4ootkod9jFQf3RuuCZk/U8qEKpDSI\nl3E6Q3Dv0SPcj/8H66BhDYhF8nVtHctSZLBAbl9S+kJtILGDvOb7X4lpYMht\nd6mC2KXLV4Bacp6/3RxJ5EC9ocehFxOERgh0r1GSEEW7wIqOAyUD0TlFghq3\n9pVmKTTI2hO8gBEDnULs3WsqNPJv6jbU2i1Up+pRbLdV3MJ36Cz5ueoNvbsU\nVaHZR8ow/Pqx7By3jB5U5eNHuKdZne3rahmjKb40VVpLYGS+/J6Eci1a6BTR\npDXLh6wQIcWddMXrM45NGUVuJTV4eFFMDCTCZdjlWcSBj6WR/HkVeKSYO7RU\nXUBorcpgZhq0S3F1oNcRvFx35em5q4O1tbTL3N9YW77jmLuaqjmrBFPWrQK7\nZBcWNFvE6gy9Kzgynm2mOiloyZaUZmsx3tTpRGfQYXbrm4MbTO2LNySO8gpd\nk9ETxH+ythUKQozPWXtoAp6jJYVfs95b+HzYgNBm0Y6F8PVOMXVGybIZ+Olf\n6Igv8N7FgZPks10cQsP5rq+ij5EC2/fhpTJ5QCJUIMwVoBmLWwHJ1VhBKi19\n574R\r\n=h4jK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIgMa1qARhRig9N6GlOwciAiji89X+FJq9sHQlvt+ftAiEA05cHKOp/CFIv1mcfJW4J4N2ZGgmusWT7KbQorB3du8w="}]},"maintainers":[{"name":"cvillarrea","email":"cvillarrea@compusoluciones.com"},{"name":"jbarajas","email":"jbarajas@compusoluciones.com"},{"name":"imeza.compu","email":"imeza@compusoluciones.com"},{"name":"osestrad","email":"osestrad@compusoluciones.com"},{"name":"caphector","email":"hdelacruz13@hotmail.com"},{"name":"hgt1786","email":"fer.180910@gmail.com"}],"_npmUser":{"name":"osestrad","email":"osestrad@compusoluciones.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/microsoft-sdk-test_0.1.0_1601902636502_0.7562047445630211"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-05T12:57:16.443Z","0.1.0":"2020-10-05T12:57:16.717Z","modified":"2023-07-26T19:54:11.249Z"},"maintainers":[{"email":"siclicksuscribe@gmail.com","name":"pdigitalessiclicksuscribe"},{"email":"hdelacruz13@hotmail.com","name":"caphector"},{"email":"fer.180910@gmail.com","name":"hgt1786"},{"email":"robarajas@compusoluciones.com","name":"robarajas"}],"description":"***\r ## Tabla de contenidos\r * Estructura de las credenciales.\r * Creación del objeto.\r * Consumption Azure\r   * Obtener el consumo de cada cliente o UF del reseller (no incluida para Azure Plan).\r   * Obtener el costo de todas las suscripciones de un cli","license":"ISC","readme":"# SDK Microsoft CSP\r\n***\r\n## Tabla de contenidos\r\n* Estructura de las credenciales.\r\n* Creación del objeto.\r\n* Consumption Azure\r\n  * Obtener el consumo de cada cliente o UF del reseller (no incluida para Azure Plan).\r\n  * Obtener el costo de todas las suscripciones de un cliente.\r\n  * Obtener el costo por suscripción.\r\n  * Obtener los registros de uso por suscripción. (no incluida para Azure Plan).\r\n  * Obtener el registro de uso de cada cliente o UF del reseller.\r\n  * Obtener el registro de uso por cliente.\r\n  * Obtener el registro de uso por 'meter' por suscripción.\r\n  * Obtener los registros de uso por suscripción. (solo para Azure Plan).\r\n* Customer\r\n  * (Doc pendiente)\r\n* Offers\r\n  * (Doc pendiente)\r\n* Utilities\r\n  * (Doc pendiente)\r\n* Billing\r\n  * (Doc Pendiente)\r\n* Agreements\r\n  * (Doc pendiente)\r\n* Products\r\n  * Obtener lista de productos por\r\n  * Upgrade Azure\r\n  * Revisar eligibilidad para upgrade Azure\r\n  * Revisar estatus del upgrade.\r\n* Budget\r\n  * Actualizar el budget de un UF.\r\n  * Obtener el budget de un UF.\r\n* Invoices\r\n  *Obtener todos los invoices\r\n  * Obtener invoices por size.\r\n  * Obtener invoices por offset.\r\n  * Obtener invoices por offset y size.\r\n\r\n*** \r\n\r\n## Credentials.\r\n\r\n#### Es importante usar las credenciales de la cuenta de CSP a la cual vamos a acceder de la siguiente manera:\r\n```\r\nconst credentials = {\r\n  clientId: 'client_id',\r\n  domain: 'partner_tenant_id',\r\n  client_secret: 'client_secret',\r\n  refresh_token: 'refresh_token',\r\n};\r\n\r\n```\r\n***\r\n#### Debemos crear un nuevo objeto para poder llamar a las funciones de nuestro SDK.\r\n```\r\nconst UserPartnerOperations = require('./dist');\r\nconst userPartnerOperations = new UserPartnerOperations(credentials);\r\n```\r\n\r\n\r\n## Azure Consumption.\r\n***\r\n### 1. UsageSummaryAzure\r\n\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.azure.getTotalSummary()\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n  \"customersOverBudget\": 2,\r\n  \"customersTrendingOver\": 1,\r\n  \"customersWithUsageBasedSubscription\": 151,\r\n  \"resourceId\": \"9e09e971-5b2c-47d3-acec-be60c2665bae\",\r\n  \"id\": \"9e09e971-5b2c-47d3-acec-be60c2665bae\",\r\n  \"resourceName\": \"COMPUSOLUCIONES Y ASOCIADOS SA DE CV \",\r\n  \"name\": \"COMPUSOLUCIONES Y ASOCIADOS SA DE CV \",\r\n  \"billingStartDate\": \"2020-01-22T00:00:00+00:00\",\r\n  \"billingEndDate\": \"2020-02-21T00:00:00+00:00\",\r\n  \"totalCost\": 2581.449771,\r\n  \"currencyLocale\": \"en-US\",\r\n  \"lastModifiedDate\": \"2020-02-04T12:03:27.833+00:00\",\r\n  \"links\": {\r\n    \"self\": {\r\n      \"uri\": \"/usagesummary\",\r\n      \"method\": \"GET\",\r\n      \"headers\": []\r\n    }\r\n  },\r\n  \"attributes\": {\r\n    \"objectType\": \"PartnerUsageSummary\"\r\n  }\r\n}\r\n```\r\n***\r\n### 2. UsageSummaryByCustomer\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.customer.byId('customer_id').azure.usageSummaryByCustomer();\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n  \"customerSpendingBudget\": {\r\n    \"attributes\": {\r\n      \"objectType\": \"SpendingBudget\"\r\n    }\r\n  },\r\n  \"budget\": {\r\n    \"attributes\": {\r\n      \"objectType\": \"SpendingBudget\"\r\n    }\r\n  },\r\n  \"resourceId\": \"b0631ce6-abcc-48b3-a607-20bd8e577c99\",\r\n  \"id\": \"b0631ce6-abcc-48b3-a607-20bd8e577c99\",\r\n  \"resourceName\": \"Preventa MS\",\r\n  \"name\": \"Preventa MS\",\r\n  \"billingStartDate\": \"2020-02-01T00:00:00+00:00\",\r\n  \"billingEndDate\": \"2020-03-01T00:00:00+00:00\",\r\n  \"totalCost\": 4.55,\r\n  \"currencyCode\": \"USD\",\r\n  \"usdTotalCost\": 4.55,\r\n  \"lastModifiedDate\": \"2020-02-04T16:49:30.7033333+00:00\",\r\n  \"links\": {\r\n    \"self\": {\r\n      \"uri\": \"/customers/b0631ce6-abcc-48b3-a607-20bd8e577c99/usagesummary\",\r\n      \"method\": \"GET\",\r\n      \"headers\": []\r\n    }\r\n  },\r\n  \"attributes\": {\r\n    \"objectType\": \"CustomerUsageSummary\"\r\n  }\r\n}\r\n```\r\n***\r\n### 3. UsageSummaryBySubscription\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.customer.byId('customer_id').subscriptions.byId('subs_id').azure.usageSummaryById();\r\n\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n  \"resourceId\": \"42aebd04-b134-30a7-9c32-00705a5cc72e\",\r\n  \"id\": \"42aebd04-b134-30a7-9c32-00705a5cc72e\",\r\n  \"resourceName\": \"Azure plan\",\r\n  \"name\": \"Azure plan\",\r\n  \"billingStartDate\": \"2020-02-01T00:00:00+00:00\",\r\n  \"billingEndDate\": \"2020-03-01T00:00:00+00:00\",\r\n  \"totalCost\": 4.55,\r\n  \"currencyCode\": \"USD\",\r\n  \"usdTotalCost\": 4.55,\r\n  \"lastModifiedDate\": \"2020-02-04T16:49:30.7033333+00:00\",\r\n  \"links\": {\r\n    \"self\": {\r\n      \"uri\": \"/customers/b0631ce6-abcc-48b3-a607-20bd8e577c99/subscriptions/42aebd04-b134-30a7-9c32-00705a5cc72e/usagesummary\",\r\n      \"method\": \"GET\",\r\n      \"headers\": []\r\n    }\r\n  },\r\n  \"attributes\": {\r\n    \"objectType\": \"SubscriptionUsageSummary\"\r\n  }\r\n}\r\n```\r\n***\r\n### 4. GetCustomerUsageRecords\r\n\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.customer.byId('customer_id').subscriptions.byId('subs_id').usage.records();\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n  \"totalCount\": 3,\r\n  \"items\": [\r\n    {\r\n      \"category\": \"Storage\",\r\n      \"subcategory\": \"General Block Blob\",\r\n      \"quantityUsed\": 0.761,\r\n      \"unit\": \"10K\",\r\n      \"resourceId\": \"211E620C-EBCF-4DB5-A7FD-996ABEBE9546\",\r\n      \"id\": \"211E620C-EBCF-4DB5-A7FD-996ABEBE9546\",\r\n      \"resourceName\": \"Write Operations\",\r\n      \"name\": \"Write Operations\",\r\n      \"totalCost\": 0.000233,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-02-05T12:03:05.393+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"AzureResourceMonthlyUsageRecord\"\r\n      }\r\n    },\r\n    {\r\n      \"category\": \"Bandwidth\",\r\n      \"subcategory\": \"\",\r\n      \"quantityUsed\": 0.41978,\r\n      \"unit\": \"1 GB\",\r\n      \"resourceId\": \"32C3EBEC-1646-49E3-8127-2CAFBD3A04D8\",\r\n      \"id\": \"32C3EBEC-1646-49E3-8127-2CAFBD3A04D8\",\r\n      \"resourceName\": \"Data Transfer In\",\r\n      \"name\": \"Data Transfer In\",\r\n      \"totalCost\": 0,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-02-05T12:03:05.393+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"AzureResourceMonthlyUsageRecord\"\r\n      }\r\n    },\r\n    {\r\n      \"category\": \"Storage\",\r\n      \"subcategory\": \"Tables\",\r\n      \"quantityUsed\": 0.001854,\r\n      \"unit\": \"1 GB/Month\",\r\n      \"resourceId\": \"3F2B1E1C-C886-4EC6-AD6F-DD0EF38819C9\",\r\n      \"id\": \"3F2B1E1C-C886-4EC6-AD6F-DD0EF38819C9\",\r\n      \"resourceName\": \"LRS Data Stored\",\r\n      \"name\": \"LRS Data Stored\",\r\n      \"totalCost\": 0.000071,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-02-05T12:03:05.393+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"AzureResourceMonthlyUsageRecord\"\r\n      }\r\n    }\r\n  ],\r\n  \"links\": {\r\n    \"self\": {\r\n      \"uri\": \"/customers/fd442951-aef5-463c-8767-b21df61ee1f2/subscriptions/18441852-b6e0-4a18-b42f-57f808ac3e5e/usagerecords/resources\",\r\n      \"method\": \"GET\",\r\n      \"headers\": []\r\n    }\r\n  },\r\n  \"attributes\": {\r\n    \"objectType\": \"Collection\"\r\n  }\r\n}\r\n```\r\n***\r\n### 5. UsageRecordsAzure\r\n\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.usage.usageRecords()\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n  \"totalCount\": 3,\r\n  \"items\": [\r\n    {\r\n      \"budget\": {\r\n        \"amount\": 200,\r\n        \"usageSpendingBudget\": 200,\r\n        \"attributes\": {\r\n          \"objectType\": \"SpendingBudget\"\r\n        }\r\n      },\r\n      \"customerSpendingBudget\": {\r\n        \"amount\": 200,\r\n        \"usageSpendingBudget\": 200,\r\n        \"attributes\": {\r\n          \"objectType\": \"SpendingBudget\"\r\n        }\r\n      },\r\n      \"percentUsed\": 28.66681,\r\n      \"isUpgraded\": false,\r\n      \"resourceId\": \"91dc87b2-7c82-460d-90cb-c29fae973f17\",\r\n      \"id\": \"91dc87b2-7c82-460d-90cb-c29fae973f17\",\r\n      \"resourceName\": \"RAMIREZ VALLE MATRIZ SC\",\r\n      \"name\": \"RAMIREZ VALLE MATRIZ SC\",\r\n      \"totalCost\": 57.33362,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-02-05T12:03:05.393+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"CustomerMonthlyUsageRecord\"\r\n      }\r\n    },\r\n    {\r\n      \"budget\": {\r\n        \"attributes\": {\r\n          \"objectType\": \"SpendingBudget\"\r\n        }\r\n      },\r\n      \"customerSpendingBudget\": {\r\n        \"attributes\": {\r\n          \"objectType\": \"SpendingBudget\"\r\n        }\r\n      },\r\n      \"percentUsed\": 0,\r\n      \"isUpgraded\": false,\r\n      \"resourceId\": \"d1eb2226-a0da-4062-9f29-61be3cffd910\",\r\n      \"id\": \"d1eb2226-a0da-4062-9f29-61be3cffd910\",\r\n      \"resourceName\": \"Antar Global Services S A de C V\",\r\n      \"name\": \"Antar Global Services S A de C V\",\r\n      \"totalCost\": 0.000288,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-02-05T12:03:05.393+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"CustomerMonthlyUsageRecord\"\r\n      }\r\n    },\r\n    {\r\n      \"budget\": {\r\n        \"amount\": 1000,\r\n        \"usageSpendingBudget\": 1000,\r\n        \"attributes\": {\r\n          \"objectType\": \"SpendingBudget\"\r\n        }\r\n      },\r\n      \"customerSpendingBudget\": {\r\n        \"amount\": 1000,\r\n        \"usageSpendingBudget\": 1000,\r\n        \"attributes\": {\r\n          \"objectType\": \"SpendingBudget\"\r\n        }\r\n      },\r\n      \"percentUsed\": 102.3889401,\r\n      \"isUpgraded\": false,\r\n      \"resourceId\": \"cb27b3b8-2d09-4ab3-9804-d05fed519ceb\",\r\n      \"id\": \"cb27b3b8-2d09-4ab3-9804-d05fed519ceb\",\r\n      \"resourceName\": \"OCEAN NETWORK EXPRESS MEXICO\",\r\n      \"name\": \"OCEAN NETWORK EXPRESS MEXICO\",\r\n      \"totalCost\": 1023.889401,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-02-05T12:03:05.393+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"CustomerMonthlyUsageRecord\"\r\n      }\r\n    }\r\n  ],\r\n  \"links\": {\r\n    \"self\": {\r\n      \"uri\": \"/customers/usagerecords\",\r\n      \"method\": \"GET\",\r\n      \"headers\": []\r\n    }\r\n  },\r\n  \"attributes\": {\r\n    \"objectType\": \"Collection\"\r\n  }\r\n}\r\n```\r\n***\r\n### 6. GetUsageRecordsByCustomer.\r\n\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.customer.byId('customer_id').usage.getUsageRecordsByCustomer();\r\n\r\n```\r\n***\r\nEjemplo de respuesta:\r\n```\r\n{\r\n    \"totalCount\":3,\r\n    \"items\":\r\n    [\r\n        {\r\n            \"status\":\"active\",\r\n            \"partnerOnRecord\":\"4847274\",\r\n            \"offerId\":\"MS-AZR-0145P\",\r\n            \"resourceId\":\"346D8DC1-067A-4416-BC03-18F558623178\",\r\n            \"id\":\"346D8DC1-067A-4416-BC03-18F558623178\",\r\n            \"resourceName\":\"sierranorte\",\r\n            \"name\":\"sierranorte\",\r\n            \"totalCost\":666.807481,\r\n            \"currencyLocale\":\"en-US\",\r\n            \"lastModifiedDate\":\"2020-01-28T12:06:58.937+00:00\",\r\n            \"attributes\":{\r\n                \"objectType\":\"SubscriptionMonthlyUsageRecord\"\r\n            }\r\n        },\r\n        {\r\n            \"status\":\"active\",\r\n            \"partnerOnRecord\":\"4847274\",\r\n            \"offerId\":\"MS-AZR-0145P\",\r\n            \"resourceId\":\"3FCC7AAD-45AA-45D9-BE1C-C8DEF0A97251\",\r\n            \"id\":\"3FCC7AAD-45AA-45D9-BE1C-C8DEF0A97251\",\r\n            \"resourceName\":\"promare\",\r\n            \"name\":\"promare\",\r\n            \"totalCost\":512.546161,\r\n            \"currencyLocale\":\"en-US\",\r\n            \"lastModifiedDate\":\"2020-01-28T12:06:58.937+00:00\",\r\n            \"attributes\":{\r\n                \"objectType\":\"SubscriptionMonthlyUsageRecord\"\r\n            }\r\n        },\r\n        {\r\n            \"status\":\"active\",\r\n            \"partnerOnRecord\":\"4847274\",\r\n            \"offerId\":\"MS-AZR-0145P\",\r\n            \"resourceId\":\"E4917F1E-A809-4CE2-9A4F-E4980E98997F\",\r\n            \"id\":\"E4917F1E-A809-4CE2-9A4F-E4980E98997F\",\r\n            \"resourceName\":\"fultra\",\r\n            \"name\":\"fultra\",\r\n            \"totalCost\":0.000000,\r\n            \"currencyLocale\":\"en-US\",\r\n            \"lastModifiedDate\":\"2020-01-23T00:07:35.59+00:00\",\r\n            \"attributes\":{\r\n                \"objectType\":\"SubscriptionMonthlyUsageRecord\"\r\n            }\r\n        }\r\n    ],\r\n    \"links\":{\r\n        \"self\":{\r\n            \"uri\":\"/customers/f03d1b0e-7bde-48a4-a386-abbbf42d9a52/subscriptions/usagerecords/\",\r\n            \"method\":\"GET\",\r\n            \"headers\":[]\r\n        }\r\n    },\r\n    \"attributes\":{\r\n        \"objectType\":\"Collection\"\r\n    }\r\n}\r\n```\r\n***\r\n### 7. GetMeterUsageRecordsBySubs\r\n\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.customer.byId(customerId).subscriptions.byId(subscriptionId).usage.getMeterUsageRecordsBySubs();\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n  \"totalCount\": 3,\r\n  \"items\": [\r\n    {\r\n      \"meterId\": \"0D239466-777A-4271-B703-5F9AE34743AA\",\r\n      \"meterName\": \"E8 v3/E8s v3\",\r\n      \"category\": \"Virtual Machines\",\r\n      \"subcategory\": \"Ev3/ESv3 Series Windows\",\r\n      \"quantityUsed\": 304,\r\n      \"unit\": \"1 Hour\",\r\n      \"resourceId\": \"0D239466-777A-4271-B703-5F9AE34743AA\",\r\n      \"resourceName\": \"E8 v3/E8s v3\",\r\n      \"totalCost\": 251.1648,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-01-28T12:06:58.937+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"MeterUsageRecord\"\r\n      }\r\n    },\r\n    {\r\n      \"meterId\": \"10BFCC7B-397C-4216-AF83-8708FC2DFA1F\",\r\n      \"meterName\": \"S15 Disks\",\r\n      \"category\": \"Storage\",\r\n      \"subcategory\": \"Standard HDD Managed Disks\",\r\n      \"quantityUsed\": 0.608832,\r\n      \"unit\": \"1/Month\",\r\n      \"resourceId\": \"10BFCC7B-397C-4216-AF83-8708FC2DFA1F\",\r\n      \"resourceName\": \"S15 Disks\",\r\n      \"totalCost\": 5.862322,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-01-28T12:06:58.937+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"MeterUsageRecord\"\r\n      }\r\n    },\r\n    {\r\n      \"meterId\": \"211E620C-EBCF-4DB5-A7FD-996ABEBE9546\",\r\n      \"meterName\": \"Write Operations\",\r\n      \"category\": \"Storage\",\r\n      \"subcategory\": \"General Block Blob\",\r\n      \"quantityUsed\": 3.6239,\r\n      \"unit\": \"10K\",\r\n      \"resourceId\": \"211E620C-EBCF-4DB5-A7FD-996ABEBE9546\",\r\n      \"resourceName\": \"Write Operations\",\r\n      \"totalCost\": 0.001109,\r\n      \"currencyLocale\": \"en-US\",\r\n      \"lastModifiedDate\": \"2020-01-28T12:06:58.937+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"MeterUsageRecord\"\r\n      }\r\n    },\r\n  ],\r\n  \"links\": {\r\n    \"self\": {\r\n      \"uri\": \"/customers/f03d1b0e-7bde-48a4-a386-abbbf42d9a52/subscriptions/346D8DC1-067A-4416-BC03-18F558623178//meterusagerecords\",\r\n      \"method\": \"GET\",\r\n      \"headers\": []\r\n    }\r\n  },\r\n  \"attributes\": {\r\n    \"objectType\": \"Collection\"\r\n  }\r\n}\r\n```\r\n***\r\n### 8. GetResourceUsageRecordsBySubs\r\n\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.customer.byId(customerId).subscriptions.byId(subscriptionId).usage.getResourceUsageRecordsBySubs()\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n  \"totalCount\": 3,\r\n  \"items\": [\r\n    {\r\n      \"subscriptionId\": \"42aebd04-b134-30a7-9c32-00705a5cc72e\",\r\n      \"resourceUri\": \"/subscriptions/ade3dc7a-74bd-46b7-8951-1b8d9aa47a43/resourceGroups/EM_CloudBank/providers/Microsoft.Storage/storageAccounts/cloudbankcs\",\r\n      \"resourceType\": \"Microsoft.Storage\",\r\n      \"entitlementId\": \"ade3dc7a-74bd-46b7-8951-1b8d9aa47a43\",\r\n      \"entitlementName\": \"Microsoft Azure\",\r\n      \"resourceGroupName\": \"EM_CloudBank\",\r\n      \"name\": \"cloudbankcs\",\r\n      \"resourceName\": \"cloudbankcs\",\r\n      \"totalCost\": 0.04,\r\n      \"currencyCode\": \"USD\",\r\n      \"usdTotalCost\": 0.04,\r\n      \"lastModifiedDate\": \"2020-02-05T00:54:07.1166667+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"ResourceUsageRecord\"\r\n      }\r\n    },\r\n    {\r\n      \"subscriptionId\": \"42aebd04-b134-30a7-9c32-00705a5cc72e\",\r\n      \"resourceUri\": \"/subscriptions/ade3dc7a-74bd-46b7-8951-1b8d9aa47a43/resourceGroups/emoralescs/providers/Microsoft.Automation/automationAccounts/StrtStp-atm\",\r\n      \"resourceType\": \"Microsoft.Automation\",\r\n      \"entitlementId\": \"ade3dc7a-74bd-46b7-8951-1b8d9aa47a43\",\r\n      \"entitlementName\": \"Microsoft Azure\",\r\n      \"resourceGroupName\": \"emoralescs\",\r\n      \"name\": \"StrtStp-atm\",\r\n      \"resourceName\": \"StrtStp-atm\",\r\n      \"totalCost\": 0,\r\n      \"currencyCode\": \"USD\",\r\n      \"usdTotalCost\": 0,\r\n      \"lastModifiedDate\": \"2020-02-05T00:54:07.1166667+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"ResourceUsageRecord\"\r\n      }\r\n    },\r\n    {\r\n      \"subscriptionId\": \"42aebd04-b134-30a7-9c32-00705a5cc72e\",\r\n      \"resourceUri\": \"/subscriptions/ade3dc7a-74bd-46b7-8951-1b8d9aa47a43/resourceGroups/EMORALESCS/providers/Microsoft.Compute/disks/WS16-vm1_DataDisk_0\",\r\n      \"resourceType\": \"Microsoft.Compute\",\r\n      \"entitlementId\": \"ade3dc7a-74bd-46b7-8951-1b8d9aa47a43\",\r\n      \"entitlementName\": \"Microsoft Azure\",\r\n      \"resourceGroupName\": \"EMORALESCS\",\r\n      \"name\": \"WS16-vm1_DataDisk_0\",\r\n      \"resourceName\": \"WS16-vm1_DataDisk_0\",\r\n      \"totalCost\": 0.58,\r\n      \"currencyCode\": \"USD\",\r\n      \"usdTotalCost\": 0.58,\r\n      \"lastModifiedDate\": \"2020-02-05T00:54:07.1166667+00:00\",\r\n      \"attributes\": {\r\n        \"objectType\": \"ResourceUsageRecord\"\r\n      }\r\n    }\r\n  ],\r\n  \"links\": {\r\n    \"self\": {\r\n      \"uri\": \"/customers/b0631ce6-abcc-48b3-a607-20bd8e577c99/subscriptions/42aebd04-b134-30a7-9c32-00705a5cc72e/resourceusagerecords\",\r\n      \"method\": \"GET\",\r\n      \"headers\": []\r\n    }\r\n  },\r\n  \"attributes\": {\r\n    \"objectType\": \"Collection\"\r\n  }\r\n}\r\n```\r\n***\r\n## Products\r\n\r\n### 1. Get a list of products (by country)\r\nParámetros:\r\n| Name       | Type   | Required | Description                                                          |\r\n|------------|--------|----------|----------------------------------------------------------------------|\r\n| country    | string | Yes      | The country/region ID.                                               |\r\n| targetView | string | Yes      | Identifies the target view of the catalog. The supported values are: |\r\n|            |        |          | **AzureReservations** which includes all Azure reservation items.    |\r\n|            |        |          | **AzureReservationsVM** which includes all virtual machine (VM)      |\r\n|            |        |          | reservation items.                                                   |\r\n|            |        |          | **AzureReservationsSQL** which includes all SQL reservation items    |\r\n|            |        |          | **AzureReservationsCosmosDb** which includes all Cosmos database     |\r\n|            |        |          | reservation items.                                                   |\r\n|            |        |          | **MicrosoftAzure** which includes items for Microsoft Azure          | \r\n|            |        |          | subscriptions  (MS-AZR-0145P) and Azure plans.                       |\r\n|            |        |          | **OnlineServices** which includes all online service items (including|\r\n|            |        |          | commercial marketplace products).                                    |\r\n|            |        |          | **Software** which includes all software items.                      |\r\n|            |        |          | **SoftwareSUSELinux** which includes all software SUSE Linux items.  |\r\n|            |        |          | **SoftwarePerpetual** which includes all perpetual software items.   |\r\n|            |        |          | **SoftwareSubscriptions** which includes all software subscription.  |\r\n|            |        |          | items.                                                               |\r\nCómo llamar a esta función.\r\n```\r\nuserPartnerOperations.products.byCountryCode('MX').byTargetView('targetView').get();\r\n```\r\n\r\nEjemplo de respuesta:\r\n```\r\n{\r\n    \"totalCount\": 19,\r\n    \"items\": [\r\n        {\r\n            \"id\": \"DZH318Z0BQ3Q\",\r\n            \"title\": \"Virtual Machines DSv2 Series\",\r\n            \"description\": \"Dsv2-series instances are the latest generation of D-series instances that will carry more powerful CPUs which are on average about 35% faster than D-series instances, and carry the same memory and disk configurations as the D-series. Dsv2-series instances are based on the latest generation 2.4 GHz Intel Xeon® E5-2673 v3 (Haswell) processor, and with Intel Turbo Boost Technology 2.0 can go to 3.2 GHz.\",\r\n            \"productType\": {\r\n                \"id\": \"Azure\",\r\n                \"displayName\": \"Azure\",\r\n                \"subType\": {\r\n                \"id\": \"VirtualMachines\",\r\n                \"displayName\": \"VirtualMachines\"\r\n                }\r\n            },\r\n            \"isMicrosoftProduct\": true,\r\n            \"publisherName\": \"Microsoft\",\r\n            \"links\": {\r\n                \"skus\": {\r\n                    \"uri\": \"/products/DZH318Z0BQ3Q/skus?country=US\",\r\n                    \"method\": \"GET\",\r\n                    \"headers\": []\r\n                },\r\n                \"self\": {\r\n                    \"uri\": \"/products/DZH318Z0BQ3Q?country=US\",\r\n                    \"method\": \"GET\",\r\n                    \"headers\": []\r\n                }\r\n            }\r\n        },\r\n        ...\r\n    ],\r\n    \"links\": {\r\n        \"self\": {\r\n            \"uri\": \"/products?country=US&targetView=Azure\",\r\n            \"method\": \"GET\",\r\n            \"headers\": []\r\n        }\r\n    },\r\n    \"attributes\": {\r\n        \"objectType\": \"Collection\"\r\n    }\r\n}\r\n```\r\n\r\n### Upgrade Azure.\r\nComo llamar esta función:\r\n```\r\nconst body = {\r\n  \"customerId\":\"101ab4f6-d96c-4902-866a-4fd31d89a181\",\r\n  \"productFamily\":\"azure\",\r\n};\r\n```\r\nuserPartnerOperations.products.productUpgrade(body);\r\n\r\nEjemplo de respuesta:\r\n```\r\n{\r\n   \"debugId\":2,\r\n   \"headers\":{\r\n      \"content-length\":\"0\",\r\n      \"location\":\"productUpgrades/5324c00d-67ff-477e-aff5-86484bf20deb/status\",\r\n      \"ms-correlationid\":\"606bbe34-b9f1-4709-bf17-59b42c7c6ea4\",\r\n      \"ms-requestid\":\"bcd618c2-c77e-4172-8728-3175a70ca7ff\",\r\n      \"x-locale\":\"en-US\",\r\n      \"request-context\":\"appId=cid-v1:03ce8ca8-8373-4021-8f25-d5dd45c7b12f\",\r\n      \"date\":\"Thu, 19 Mar 2020 20:57:56 GMT\",\r\n      \"connection\":\"close\"\r\n   },\r\n   \"statusCode\":202\r\n}\r\n\r\n```\r\n\r\n### Elegibilidad de un producto.\r\nComo llamar esta función:\r\n```\r\nconst body = {\r\n  \"customerId\":\"101ab4f6-d96c-4902-866a-4fd31d89a181\",\r\n  \"productFamily\":\"azure\",\r\n};\r\n```\r\nuserPartnerOperations.products.productUpgradeEligibility(body);\r\n\r\nEjemplo de respuesta:\r\n```\r\n{\r\n   \"debugId\":2,\r\n   \"headers\":{\r\n      \"content-length\":\"98\",\r\n      \"content-type\":\"application/json; charset=utf-8\",\r\n      \"ms-correlationid\":\"02408040-a9ef-4f49-a201-e2b9ea805bc7\",\r\n      \"ms-requestid\":\"29095590-e702-441b-8add-ed19fe40c012\",\r\n      \"x-locale\":\"en-US\",\r\n      \"request-context\":\"appId=cid-v1:03ce8ca8-8373-4021-8f25-d5dd45c7b12f\",\r\n      \"date\":\"Thu, 19 Mar 2020 22:01:00 GMT\",\r\n      \"connection\":\"close\"\r\n   },\r\n   \"statusCode\":200,\r\n    \"body\":\r\n    {\r\n        \"customerId\":\"8baf0911-69cd-4f7c-b899-cbf9f2f49ac9\",\r\n        \"isEligible\":true,\r\n        \"productFamily\":\"azure\"\r\n    }\r\n}\r\n```\r\n\r\n### Estatus de un upgrade.\r\nPara poder correr esta ruta, se debió guardar el dato 'location' de la respuesta de la ruta productUpgrade,\r\nel cual tiene el id del upgrade solicitado.\r\n```\r\n{\r\n   \"debugId\":2,\r\n   \"headers\":{\r\n      \"content-length\":\"0\",\r\n\r\n      `\"location\":\"productUpgrades/5324c00d-67ff-477e-aff5-86484bf20deb/status\",`\r\n\r\n      \"ms-correlationid\":\"606bbe34-b9f1-4709-bf17-59b42c7c6ea4\",\r\n      \"ms-requestid\":\"bcd618c2-c77e-4172-8728-3175a70ca7ff\",\r\n      \"x-locale\":\"en-US\",\r\n      \"request-context\":\"appId=cid-v1:03ce8ca8-8373-4021-8f25-d5dd45c7b12f\",\r\n      \"date\":\"Thu, 19 Mar 2020 20:57:56 GMT\",\r\n      \"connection\":\"close\"\r\n   },\r\n   \"statusCode\":202\r\n}\r\n```\r\nComo llamar esta función:\r\n```\r\nconst body = {\r\n  \"customerId\":\"101ab4f6-d96c-4902-866a-4fd31d89a181\",\r\n  \"productFamily\":\"azure\",\r\n};\r\n\r\nconst upgradeId = '5324c00d-67ff-477e-aff5-86484bf20deb';\r\n```\r\nuserPartnerOperations.products.productUpgradeStatus(body, upgradeId);\r\n\r\nEjemplo de respuesta:\r\n```\r\n{\r\n   \"debugId\":2,\r\n   \"headers\":{\r\n      \"content-length\":\"355\",\r\n      \"content-type\":\"application/json; charset=utf-8\",\r\n      \"ms-correlationid\":\"08227cf0-34d6-49c2-ad4a-a276139ffee7\",\r\n      \"ms-requestid\":\"49b1eb3a-4d71-4e9e-a656-eb7b39a6a7ee\",\r\n      \"x-locale\":\"en-US\",\r\n      \"request-context\":\"appId=cid-v1:03ce8ca8-8373-4021-8f25-d5dd45c7b12f\",\r\n      \"date\":\"Thu, 19 Mar 2020 21:22:18 GMT\",\r\n      \"connection\":\"close\"\r\n   },\r\n   \"statusCode\":200,\r\n    body:\"\r\n    {\r\n    \"id\":\"5324c00d-67ff-477e-aff5-86484bf20deb\",\r\n    \"status\":\"Completed\",\r\n    \"productFamily\":\"Azure\",\r\n    \"lineItems\":[\r\n        {\r\n            \"sourceProduct\":{\r\n                \"id\":\"F7576574-52BD-4B2A-A2ED-139A7B87F8F1\",\r\n                \"name\":\"Microsoft Azure\"\r\n            },\r\n            \"targetProduct\":{\r\n                \"id\":\"8e363daa-172f-5aed-f7ff-968a8f09f82d\",\r\n                \"name\":\"Microsoft Azure Plan\"\r\n            },\r\n            \"upgradedDate\":\"2020-03-19T21:05:48.4704556Z\",\r\n            \"status\":\"Completed\"\r\n        }\r\n    ]\r\n    }\"\r\n}\r\n```\r\n\r\n***\r\n## Budget\r\n\r\n### 1. Update customer usage spending budget.\r\nComo llamar esta función:\r\n```\r\nconst budget = {\r\n  \"Amount\": 1000,\r\n  \"Attributes\": {\r\n       \"ObjectType\": \"SpendingBudget\"\r\n  }\r\n};\r\nuserPartnerOperations.customer.byId('customerId').budget.update(budget);\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n    {\r\n        \"amount\": 100,\r\n        \"usageSpendingBudget\": 100,\r\n        \"attributes\":{\r\n            \"objectType\":\"SpendingBudget\"\r\n        }\r\n    },\r\n    \"links\":{\r\n        \"self\":{\r\n            \"uri\":\"/v1/customers/<customer-tenant-id>/usagebudget\",\r\n            \"method\":\"PATCH\",\r\n            \"headers\":[]\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n### 2. Get a customer´s usage spending budget.\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.customer.byId('customerId').budget.get();\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n    {\r\n        \"amount\": 100,\r\n        \"usageSpendingBudget\": 100,\r\n        \"attributes\":{\r\n            \"objectType\":\"SpendingBudget\"\r\n        }\r\n    }\r\n}\r\n```\r\n***\r\n## Invoices\r\n\r\n### Obtener todos los invoices\r\nComo llamar esta función:\r\n```\r\nuserPartnerOperations.invoices.get();\r\n```\r\nEjemplo de respuesta:\r\n```\r\n{\r\n    \"totalCount\": 2,\r\n    \"items\": [\r\n        {\r\n            \"id\": \"D02005YFHI\",\r\n            \"invoiceDate\": \"2017-01-21T00:00:00Z\",\r\n            \"totalCharges\": 24606.35,\r\n            \"paidAmount\": 1000,\r\n            \"currencyCode\": \"GBP\",\r\n            \"currencySymbol\": \"£\",\r\n            \"pdfDownloadLink\": \"/invoices/D02005YFHI/documents/statement\",\r\n            \"taxReceipts\": [\r\n                {\r\n                    \"id\": \"123456\",\r\n                    \"taxReceiptPdfDownloadLink\": \"/invoices/D02005YFHI/receipts/123456/documents/statement\"\r\n                }\r\n            ],\r\n            \"invoiceDetails\": [\r\n                {\r\n                    \"invoiceLineItemType\": \"billing_line_items\",\r\n                    \"billingProvider\": \"office\",\r\n                    \"links\": {\r\n                        \"self\": {\r\n                            \"uri\": \"/invoices/Recurring-D02005YFHI/lineitems/Office/BillingLineItems\",\r\n                            \"method\": \"GET\",\r\n                            \"headers\": []\r\n                        }\r\n                    },\r\n                    \"attributes\": {\r\n                        \"objectType\": \"InvoiceDetail\"\r\n                    }\r\n                }\r\n            ],\r\n            \"documentType\": \"invoice\",\r\n            \"invoiceType\": \"Recurring\",\r\n            \"links\": {\r\n                \"self\": {\r\n                    \"uri\": \"/invoices/Recurring-D02005YFHI\",\r\n                    \"method\": \"GET\",\r\n                    \"headers\": []\r\n                }\r\n            },\r\n            \"attributes\": {\r\n                \"objectType\": \"Invoice\"\r\n            }\r\n        },\r\n        {\r\n            \"id\": \"G000024130\",\r\n            \"invoiceDate\": \"2018-02-08T01:22:47.603895Z\",\r\n            \"totalCharges\": 586366,\r\n            \"paidAmount\": 0,\r\n            \"currencyCode\": \"CHF\",\r\n            \"currencySymbol\": \"CHF\",\r\n            \"pdfDownloadLink\": \"/invoices/G000024130/documents/statement\",\r\n            \"taxReceipts\": [\r\n                {\r\n                    \"id\": \"234567\",\r\n                    \"taxReceiptPdfDownloadLink\": \"/invoices/G000024130/receipts/234567/documents/statement\"\r\n                }\r\n            ],\r\n            \"invoiceDetails\": [\r\n                {\r\n                    \"invoiceLineItemType\": \"billing_line_items\",\r\n                    \"billingProvider\": \"one_time\",\r\n                    \"links\": {\r\n                        \"self\": {\r\n                            \"uri\": \"/invoices/OneTime-G000024130/lineitems/OneTime/BillingLineItems\",\r\n                            \"method\": \"GET\",\r\n                            \"headers\": []\r\n                        }\r\n                    },\r\n                    \"attributes\": {\r\n                        \"objectType\": \"InvoiceDetail\"\r\n                    }\r\n                }\r\n            ],\r\n            \"amendments\": [\r\n                {\r\n                    \"id\": \"G000024131\",\r\n                    \"invoiceDate\": \"2018-02-08T18:44:37.5381456Z\",\r\n                    \"totalCharges\": 107661.12,\r\n                    \"paidAmount\": 0,\r\n                    \"currencyCode\": \"CHF\",\r\n                    \"currencySymbol\": \"CHF\",\r\n                    \"invoiceDetails\": [\r\n                        {\r\n                            \"invoiceLineItemType\": \"billing_line_items\",\r\n                            \"billingProvider\": \"one_time\",\r\n                            \"attributes\": {\r\n                                \"objectType\": \"InvoiceDetail\"\r\n                            }\r\n                        }\r\n                    ],\r\n                    \"documentType\": \"adjustment_note\",\r\n                    \"amendsOf\": \"G000024130\",\r\n                    \"invoiceType\": \"OneTime\",\r\n                    \"attributes\": {\r\n                        \"objectType\": \"Invoice\"\r\n                    }\r\n                }\r\n            ],\r\n            \"documentType\": \"void_note\",\r\n            \"invoiceType\": \"OneTime\",\r\n            \"links\": {\r\n                \"self\": {\r\n                    \"uri\": \"/invoices/OneTime-G000024130\",\r\n                    \"method\": \"GET\",\r\n                    \"headers\": []\r\n                }\r\n            },\r\n            \"attributes\": {\r\n                \"objectType\": \"Invoice\"\r\n            }\r\n        }\r\n    ],\r\n    \"links\": {\r\n        \"self\": {\r\n            \"uri\": \"/invoices?size=2&offset=0\",\r\n            \"method\": \"GET\",\r\n            \"headers\": []\r\n        },\r\n        \"next\": {\r\n            \"uri\": \"/invoices?size=2&offset=2\",\r\n            \"method\": \"GET\",\r\n            \"headers\": []\r\n        }\r\n    },\r\n    \"attributes\": {\r\n        \"objectType\": \"Collection\"\r\n    }\r\n}\r\n```\r\n\r\n### Obtener los invoices por size u offset o ambos.\r\nComo llamar estas funciones:\r\n```\r\n* Por offset:\r\nuserPartnerOperations.invoices.byOffset('0').get();\r\n* Por size:\r\nuserPartnerOperations.invoices.bysSize('1').get();\r\n* Por ambas:\r\nuserPartnerOperations.invoices.bySize('1').byOffset('0').get();\r\n```\r\n\r\nEjemplo de respuesta, identico al punto anterior.\r\n***\r\n","readmeFilename":"README.md"}