Notificaciones de Cobro
Cuando se realiza un despacho de un mensaje a través del Gateway SMS y se especifica en el XML que se debe cobrar el mensaje al cliente (atributo IsBill=”1”), el Integrador Externo recibirá una notificación sobre el resultado del intento de cobro. La notificación recibida, será del tipo XML y tendrá el siguiente formato:
Esta notificación será enviada a una URL provista por el partner
<?xml version="1.0" encoding="ISO-8859-1"?>
<MTRequestNotify>
<Servicio id="[String]"/>
<Telefono msisdn="[String]" idtran="[Number]" RefId="[Number]" /> <Estado deliverdate="[Datetime]" status="[String]" tran_status="[Number]"/>
<Info>[String]</Info>
<TicketId value="[Number]" idtran="[Number]" status="[String]" tran_status="[Number]" charge_date="[Datetime]"><Info></Info>
</TicketId>
</MTRequestNotify>
Detalle de campos XML MTRequestNotify
Servicio
- Id: Siendo [String] el numero corto, operador y país ej (70370.bill.cti.ar)
Teléfono
- msisdn: Siendo [String] el número de teléfono móvil del cliente del externo
- idtran: Siendo [Number] el identificador de la transacción generada por MovilGate en la recepción del MTRequest, entregado en el MTResponse.
- RefId: Siendo [Number] el valor correspondiente al que el Integrador Externo colocó en el IdTran del MTRequest.
Estado
- deliverdate: Siendo [Datetime] la fecha en la cual fue despacho el mensaje hacia el carrier
- status: Siendo [String] el texto que informa que ocurrió con el mensaje. Los diferentes status son:
- MT_DELIVERED: Mensaje despachado hacia el carrier
- EXPIRETIME: El despacho expiró
- MAXRETRIES: Se alcanzó la máxima cantidad de reintentos posibles
- DISCARD: Mensaje descartado, esto surge por alguna falla, generalmente por problemas de cobro del mensaje.
- LENGTHZERO: El mensaje no tiene contenido, por lo que no se despacha
- MT_FAIL_TIMEOUT: No se recibió respuesta del carrier sobre el despacho, por lo que no se puede garantizar si el mensaje llegará a destino Nota: Cuando se recibe este estado no se debe reintentar el envío del mensaje.
- tran_status: Siendo [Number] el código que informa que ocurrió con el despacho del mensaje.
Info: Siendo [String] la información proporcionada por el carrier al momento de hacer el despacho del MT.
TicketId (todos sus atributos son opcionales, sujetos a la información provista por la operadora).
- value: Siendo [Number] un identificador interno de MovilGate para representar al registro dentro de la plataforma de cobro.
- Idtran: Siendo [Number] el identificar de la transacción generado por MovilGate en la recepción del MTRequest, entregado en el MTResponse.
- status: Siendo [String] el texto que representa lo que ocurrió con el cobro del mensaje.
Puede tomar los siguientes valores:- BILLED: Cobrado.
- ERROR: Hubo un error. Nota: Cuando se recibe este estado no se debe reintentar el envío del mensaje.
- FAILED: Falló el cobro.
- BANNED: Caso atípico, poco probable
De no estar disponible este atributo, se debe observar. Estado→status:
“MT_DELIVERED”: Cobrado. - Cualquier otro caso: Falló el cobro.
- tran_status: Siendo [Number] el código que da una información más detallada sobre el proceso de cobro. Sus posibles valores son:
- 0 | Contenido cobrado.
- 1 | El contenido no está disponible.
- 2 | Para descargar este contenido debe tener Activo el servicio de Mensajes de Text.
- 3 | Servicio de Descarga de Contenidos Suspendido.
- 4 | Su línea no tiene saldo suficiente para descargar este contenido.
- 5 | Momentáneamente el servicio no está disponible, por favor vuelva a intentar en unos minutos.
- 6 | Contenido autorizado.
- 7 | Por favor, espere unos instantes y vuelva a intentar. No puede hacer más de una compra por minuto.
- 8 | Contenido libre de cargo.
- 9 | Servicio de Descarga de Contenidos no permitida.
- 11 | Time out en la respuesta del servidor correspondiente. No reintentar.
- 13 | Cliente No existe.
- 14 | Cliente Suspendido.
- 16 | Sistema en carrier no disponible.
- Cualquier valor negativo que se reciba significa que el cliente ha sido bloqueado para seguir recibiendo mensajes/cobros. Debe darlo de baja de su plataforma.
- -1 | El usuario se encuentra en lista negra.
- -4 | El usuario no esta activo al servicio.
- charge_date: Siendo [Datetime] el valor correspondiente a la fecha en que se realizó el cobro. Tener en cuenta que el timezone es GTM-3.
- tariff: Siendo [String] la referencia a la tarifa con la que se cobró el servicio.
- Info: Siendo [String] la información proporcionada por el carrier al momento de hacer el cobro.
Ejemplo envío de MTRequestNotify: Ejemplo de una notificación exitosa de cobro y de despacho hacia el carrier.
<?xml version="1.0" encoding="ISO-8859-1"?>
<MTRequestNotify>
<Servicio id="70370.bill.cti.ar"/>
<Telefono msisdn="1148965523" idtran="14" RefId ="12345678"/> <Estado deliverdate="2013-03-03 11:55:57" status="MT_DELIVERED" tran_status="6"/>
<Info>errnum:0:errstr:Status SMPP:[Code:0]</Info>
<TicketId value="198" idtran="14" status="BILLED" tran_status="6" charge_date="2013-03-03 11:55:53" tariff="deportes"> <Info></Info>
</TicketId>
</MTRequestNotify>
A este request iniciado por MovilGate el Integrador Externo debe contestar con un código HTTP 200, para confirmar la recepción del mismo. En caso que MovilGate no reciba respuesta, o reciba otro código, realizará los reintentos correspondientes.
Códigos de error por operadora:
Estos son los detalles de error que serán informados en el tag <Info> de la notificación.
Personal AR | |
---|---|
0 | Cobro Ok |
2 | Sesion vencida |
19 | Limite Conn. Excedido |
100 | Error de sistema |
128 | No Aplica |
129 | Error de conexion con el tasador |
2000 | Saldo Insuficiente. |
2001 | Numero invalido. |
2002 | Parametros no validos. |
2003 | Error de perfil. |
2004 | Error al realizar el cobro. |
2005 | Transaccion desconocida. |
2006 | Transaccion no soportada. |
2007 | Sin Respuesta |
2008 | Respuesta Invalida |
2009 | Cola Llena |
2010 | Absorbido Externo |
2011 | Usuario Bloqueado |
2012 | Credito maximo excedido |
4000 | Descartado |
4001 | Descartado Saturado (Usuario supera el limite de credito maximo) |
Personal PY | |
0 | Contenido Cobrado |
2 | Sesion vencida |
19 | Limite Conn. Excedido |
100 | Error de sistema |
128 | No Aplica |
129 | Error de conexion con el tasador |
2000 | Saldo Insuficiente |
2001 | Numero invalido |
2002 | Parametros no validos |
2003 | Error de perfil |
2004 | Error al realizar el cobro |
2005 | Transaccion desconocida |
2006 | Transaccion no soportada |
2007 | Sin Respuesta |
2008 | Respuesta Invalida |
2009 | Cola Llena |
2010 | Absorbido Externo |
2011 | Usuario Bloqueado |
2012 | Credito maximo excedido |
4000 | Contenido Descartado |
4001 | Usuario supera el límite de credito maximo |
Claro AR | |
0 | Request received successfully |
205 | Insufficient Balance |
206 | Subscriber Not Found |
212 | End user service denied |
218 | No Inhibition packages are available |
219 | Domestic Services are disabled |
220 | Invalid transaction Id |
222 | Subscriber is not in Active State |
299 | Generic Error |
1000 | Operation Completed Successfully |
1039 | WS Error |
1100 | Authentication Failed. Invalid user name or password |
1101 | Invalid IP Address |
1102 | Invalid source address |
1103 | Suffix not allowed for this short-code. Please contact Claro Administrator |
1104 | Invalid Message type |
1105 | Service is currently barred for your account. Please contact Claro administrator |
1106 | Service is currently barred for this short-code. Please contact Claro administrator |
1108 | Invalid Date format. Expected date format is “yyyymmddhh24miss” |
1109 | Invalid submit request. Incorrect or missing header information |
1110 | Message Queue full. Please try after some time |
1111 | Invalid submit request |
1112 | Throttling Error |
1113 | Invalid Message |
1114 | Invalid Transaction ID |
1115 | Invalid PIN |
1116 | MSISDN Blacklisted for MT |
1117 | MT Quite Time |
1120 | Generic Error |
1201 | SMS Submit Failed |
1202 | SMS Delivery Failed |
1203 | Delivery Expired |
1204 | Transaction Expired |
1353 | Subscription Not Found |
1985 | IO Exception |
1986 | Timeout Exception |
1999 | Unknown Error |
4003 | Invalid Subscription ID |