From e34b3ec0f84e1274c6c6bbed67f8aacd933f0807 Mon Sep 17 00:00:00 2001 From: server Date: Wed, 21 May 2025 21:39:50 -0600 Subject: [PATCH] =?UTF-8?q?Versi=C3=B3n=202.8.0=20README=20ACTUALIZADO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 215 +++--------------------------------------------------- 1 file changed, 12 insertions(+), 203 deletions(-) diff --git a/README.md b/README.md index eb5c028a..de7de33c 100755 --- a/README.md +++ b/README.md @@ -2,209 +2,18 @@ Este plugin sincroniza los clientes del sitema UISP CRM con los contactos de WhatsApp en CallBell, además procesa pagos de Stripe como las trasferencias bancarias y genera referencias de pago vía OXXO, además envía comprobantes de pago en formato imagen PNG o texto vía Whatsapp a los clientes - -## Configuration - -* Install the plugin into UCRM and enable it. I.e. download the plugin [zip file](https://github.com/Ubiquiti-App/UCRM-plugins/raw/master/plugins/sms-twilio/sms-twilio.zip) and upload it to UCRM in System > Plugins. -* Keep execution period at "don't execute automatically" - the plugin will react to webhook events. -* Set up with data which you obtain from [Twilio Console](https://twilio.com/console): - * Account SID - * Auth Token - * SMS number to send from +# VERSIÓN 2.8.0 -Note: there are two sets of credentials available, the default ("LIVE credentials") for actual use and [test credentials](https://www.twilio.com/console/project/settings) for development. - -* Customize the texts you wish to send to a client when an event happens - * Each event has its own row - * Empty row means "do not send SMS for this" - * It is possible to replace predefined variables: `%%some.variable%%`, see full list below - * If a variable is not set for a client, it is replaced with an empty string -* Save the configuration -* Enable the plugin -* Add webhook (button next to Public URL) -* Select events about which to notify clients and save the webhook endpoint +## 🟢 Novedades +* 1️⃣ Envío de contraseña de antena en el mensaje que se manda al instalador cuando se le asigna una tarea/servicio +* 2️⃣ Para clientes nuevos o que no tengan el campo personalizado de “Password Antena Cliente” al actualizarlos se les asignará ese campo o cuando se les actualice su servicio. +* 3️⃣ Ahora se puede modificar tantas veces sea necesaria una tarea o servicio como su fecha o el instalador mientras la tarea permanezca en estado “Abiertos” SIN que se envíen notificaciones a los clientes o instaladores +* 4️⃣ Se agregó un prefijo al título de la tarea/servicio agendado cuando recién se da de alta para identificar que esta no ha sido notificada aún y se pueden realizar ajustes. -## Usage -* In UCRM admin, go to System / Webhooks / Endpoints -* Click Test Endpoint -* Go to System / Plugins / SIIP - Procesador de Pagos en línea con Stripe, Oxxo y Transferencia, Sincronizador de CallBell y Envío de Notificaciones y comprobantes vía WhatsApp -* In the log output, you'll see `Webhook test successful.` - -## Variables replaced - -These are loaded from UCRM API, and reflect the structure returned. -Client variables are replaced always; payment invoice and service only with the applicable events. - -### Client variables - -* `%%client.id%%` => 20 -* `%%client.userIdent%%` => '18' -* `%%client.previousIsp%%` => '' -* `%%client.isLead%%` => false -* `%%client.clientType%%` => 1 -* `%%client.companyName%%` => '' -* `%%client.companyRegistrationNumber%%` => '' -* `%%client.companyTaxId%%` => '' -* `%%client.companyWebsite%%` => '' -* `%%client.street1%%` => '2544 Hillview Drive' -* `%%client.street2%%` => '' -* `%%client.city%%` => 'San Jose' -* `%%client.countryId%%` => 249 -* `%%client.stateId%%` => 5 -* `%%client.zipCode%%` => '95113' -* `%%client.invoiceStreet1%%` => '' -* `%%client.invoiceStreet2%%` => '' -* `%%client.invoiceCity%%` => '' -* `%%client.invoiceStateId%%` => '' -* `%%client.invoiceCountryId%%` => '' -* `%%client.invoiceZipCode%%` => '' -* `%%client.invoiceAddressSameAsContact%%` => true -* `%%client.note%%` => '' -* `%%client.sendInvoiceByPost%%` => false -* `%%client.invoiceMaturityDays%%` => 14 -* `%%client.stopServiceDue%%` => true -* `%%client.stopServiceDueDays%%` => 7 -* `%%client.organizationId%%` => 1 -* `%%client.tax1Id%%` => 1 -* `%%client.tax2Id%%` => '' -* `%%client.tax3Id%%` => '' -* `%%client.registrationDate%%` => '2016-04-26 00:00' -* `%%client.companyContactFirstName%%` => '' -* `%%client.companyContactLastName%%` => '' -* `%%client.isActive%%` => false -* `%%client.firstName%%` => 'Tyson' -* `%%client.lastName%%` => 'Doe' -* `%%client.username%%` => 'tyson.doe@example.com' -* `%%client.accountBalance%%` => 0 -* `%%client.accountCredit%%` => 0 -* `%%client.accountOutstanding%%` => 0 -* `%%client.currencyCode%%` => 'USD' -* `%%client.organizationName%%` => 'UBNT ISP' -* `%%client.invitationEmailSentDate%%` => '' -* `%%client.avatarColor%%` => '#e53935' -* `%%client.addressGpsLat%%` => 37.401482000001 -* `%%client.addressGpsLon%%` => -121.966545 -* `%%client.message%%` => 'This is an example message sent from the Messaging feature.' - -### Invoice variables -* `%%invoice.id%%` => 4 -* `%%invoice.clientId%%` => 20 -* `%%invoice.number%%` => '2016050002' -* `%%invoice.createdDate%%` => '2016-05-03 00:00' -* `%%invoice.dueDate%%` => '2016-05-17 00:00' -* `%%invoice.emailSentDate%%` => '2018-08-24 00:00' -* `%%invoice.maturityDays%%` => 14 -* `%%invoice.notes%%` => '' -* `%%invoice.adminNotes%%` => '' -* `%%invoice.subtotal%%` => 7.88 -* `%%invoice.discount%%` => '' -* `%%invoice.discountLabel%%` => '' -* `%%invoice.total%%` => 7.88 -* `%%invoice.amountPaid%%` => 7.88 -* `%%invoice.currencyCode%%` => 'USD' -* `%%invoice.status%%` => 3 -* `%%invoice.invoiceTemplateId%%` => 1 -* `%%invoice.organizationName%%` => 'UBNT ISP' -* `%%invoice.organizationRegistrationNumber%%` => '' -* `%%invoice.organizationTaxId%%` => '' -* `%%invoice.organizationStreet1%%` => '2580 Orchard Parkway' -* `%%invoice.organizationStreet2%%` => '' -* `%%invoice.organizationCity%%` => 'New York' -* `%%invoice.organizationStateId%%` => 1 -* `%%invoice.organizationCountryId%%` => 249 -* `%%invoice.organizationZipCode%%` => '10017' -* `%%invoice.organizationBankAccountName%%` => '' -* `%%invoice.organizationBankAccountField1%%` => '' -* `%%invoice.organizationBankAccountField2%%` => '' -* `%%invoice.clientFirstName%%` => 'Tyson' -* `%%invoice.clientLastName%%` => 'Doe' -* `%%invoice.clientCompanyName%%` => '' -* `%%invoice.clientCompanyRegistrationNumber%%` => '' -* `%%invoice.clientCompanyTaxId%%` => '' -* `%%invoice.clientStreet1%%` => '685 Third Avenue' -* `%%invoice.clientStreet2%%` => '' -* `%%invoice.clientCity%%` => 'New York' -* `%%invoice.clientCountryId%%` => 249 -* `%%invoice.clientStateId%%` => 5 -* `%%invoice.clientZipCode%%` => '10017' -* `%%invoice.uncollectible%%` => false - -### Payment variables -* `%%payment.id%%` => 28 -* `%%payment.clientId%%` => 20 -* `%%payment.invoiceId%%` => '' -* `%%payment.method%%` => 2 -* `%%payment.checkNumber%%` => '' -* `%%payment.createdDate%%` => '2018-08-24 11:36' -* `%%payment.amount%%` => 1 -* `%%payment.currencyCode%%` => 'USD' -* `%%payment.note%%` => '' -* `%%payment.receiptSentDate%%` => '' -* `%%payment.providerName%%` => '' -* `%%payment.providerPaymentId%%` => '' -* `%%payment.providerPaymentTime%%` => '' -* `%%payment.creditAmount%%` => 0 -* `%%payment.applyToInvoicesAutomatically%%` => false - -### Service variables -* `%%service.id%%` => 23 -* `%%service.clientId%%` => 20 -* `%%service.status%%` => 1 -* `%%service.name%%` => 'Mini' -* `%%service.street1%%` => '622 Hide A Way Road' -* `%%service.street2%%` => '' -* `%%service.city%%` => 'San Jose' -* `%%service.countryId%%` => 249 -* `%%service.stateId%%` => 5 -* `%%service.zipCode%%` => '95135' -* `%%service.note%%` => '' -* `%%service.addressGpsLat%%` => 37.232849 -* `%%service.addressGpsLon%%` => -121.752502 -* `%%service.servicePlanId%%` => 1 -* `%%service.servicePlanPeriodId%%` => 2 -* `%%service.price%%` => 25 -* `%%service.hasIndividualPrice%%` => false -* `%%service.totalPrice%%` => 25 -* `%%service.currencyCode%%` => 'USD' -* `%%service.invoiceLabel%%` => '' -* `%%service.contractId%%` => '' -* `%%service.contractLengthType%%` => 1 -* `%%service.minimumContractLengthMonths%%` => '' -* `%%service.activeFrom%%` => '2016-05-03T00:00:00+0000' -* `%%service.activeTo%%` => '' -* `%%service.contractEndDate%%` => '' -* `%%service.discountType%%` => 0 -* `%%service.discountValue%%` => '' -* `%%service.discountInvoiceLabel%%` => '' -* `%%service.discountFrom%%` => '' -* `%%service.discountTo%%` => '' -* `%%service.tax1Id%%` => '' -* `%%service.tax2Id%%` => '' -* `%%service.tax3Id%%` => '' -* `%%service.invoicingStart%%` => '2016-05-03T00:00:00+0000' -* `%%service.invoicingPeriodType%%` => 1 -* `%%service.invoicingPeriodStartDay%%` => 1 -* `%%service.nextInvoicingDayAdjustment%%` => 0 -* `%%service.invoicingProratedSeparately%%` => true -* `%%service.invoicingSeparately%%` => false -* `%%service.sendEmailsAutomatically%%` => false -* `%%service.useCreditAutomatically%%` => true -* `%%service.servicePlanName%%` => 'Mini' -* `%%service.servicePlanPrice%%` => 25 -* `%%service.servicePlanPeriod%%` => 3 -* `%%service.downloadSpeed%%` => 10 -* `%%service.uploadSpeed%%` => 10 -* `%%service.hasOutage%%` => true -* `%%service.stopReason%%` => 'Payments overdue' - - -## Developers -* This plugin is MIT-licensed and can be used by developers as a template for integrating with a different messaging solution: - * Create a new plugin based on this one - * Replace the TwilioNotifierFacade and any references to it with a different class which extends AbstractMessageNotifierFacade - * Update libraries in composer.json as needed - * Communicate with the remote system in the sendMessage() function - - -Read more about creating your own plugin in the [Developer documentation](https://github.com/Ubiquiti-App/UCRM-plugins/blob/master/docs/index.md). +## 🔵 Mejoras +* 1️⃣ Se modificó el flujo de trabajo para el envío de notificaciones a los clientes para su visita técnica, ahora son cuatro distintos tipos de flujo, anteriormente tres. +* 2️⃣ Se reemplazaron algunas plantillas de mensajes de CallBell. +* 3️⃣ Se renombró el uso de la etiqueta “CREARCLABESTRIPE” por “CREAR CLABE STRIPE” para un mejor entendimiento de su uso. +## 🟡 Bugs Resueltos +* 1️⃣ Envío de notificaciones a los clientes y a los instaladores al CERRAR una tarea/servicio (Se mandaban mensajes de asignación y de visita del técnico ) haciendo no posible cerrar las tareas. \ No newline at end of file