ERMES. Technical Specification for ex MPAY services integration. version /10/2018

Similar documents
HTTP API Specification V2.7

All requests must be authenticated using the login and password you use to access your account.

Gatesms.eu Mobile Solutions for Business

Forthnet Mobile Platform - groupsms http interface v1.0 1 / 9

MCB Gateway. 1 Introduction. 2 Change history. 3 Table of contents

Way2mint SMS Mobile Terminate (MT) API Guide for HTTP HTTPS

LINK Mobility SMS REST API MT and Delivery Reports Version 1.3; Last updated September 21, 2017

SMSCenter. SMSCenter API

Quriiri HTTP MT API. Quriiri HTTP MT API v , doc version This document describes the Quriiri HTTP MT API version 1 (v1).

Unified terms and conditions of non-branded subscription service in MTS network." 02 August 2010!

SMS Outbound. HTTP interface - v1.1

Revision: 50 Revision Date: :43 Author: Oliver Zabel. GTX Mobile Messaging SMS Gateway Interface Simple HTTP API Manual

Wired 2 Wireless Technology Solutions API Help Document Copyright Introduction. 2. Parameter list

Future Pay MCB API. Version

USSD HTTP API SPECIFICATION Version 1.0 Teletalk Bangladesh Limited

Way2mint SMS Mobile Terminate (MT) API Guide for HTTP / HTTPS

cellip CELLIPS SMS INTERFACE DESCRIPTION HTTP GET INNEHÅLLSFÖRTECKNING

Integration Guide Xura Messaging HTTP-Interface

REST SERVICE. Web Services API Version 1.5

SMS Pro/Billing Pro. Interface specification. Version 3.0.1

Opaali Portal Quick guide

WE POWER YOUR MOBILE WORLD FTP INTEGRATION MANUAL

NIC SMS SERVICE INTEGRATION

SMS API User Guide. Document Reference: October Version: 6

HLR Lookup Service (Release 1.1.0)

SMS Submit Interface description HTTP Version 1.5

API Specification Doc

SONERA OPERATOR SERVICE PLATFORM OPAALI PORTAL SMS. FREQUENTLY ASKED QUESTIONS, version 2.0

Response: Note: Please define Dynamic Value in ##Field## The following are the parameters used: For Unicode Message:

SMS4BD Gateway Integration

Registrar- web Version February Registrar- web. Release 3.1. Copyright 2015 DNS Belgium vzw

API/balanceinfo.php?username=test&password= xxxxx

Contents. Accessing BSNL-BharatSync services. Two modes of Push Mail Service. BSNL-BharatSync Service Account Details

mvaayoo API Ver 1.2.0

API Documentation. Release Version 1 Beta

Version Date Description Author First version Nate. send_sms request Added DELIVERED. status in Send Sms.

11/10/2011. Contents

Double Opt-in Business Rules. Bulk MMS All you need to know!

LinQ2. Secure Messaging Gateway. Direct Communication to your customers

MESSAGE MANAGER PLATFORM. Corporate Customer Admin Interface Manual. Message Manager Platform Version me SmsF.

SIP Compliance APPENDIX

Technical Support. Web site. 24online Support Contact. ( a) Technical support (Corporate Office):

Telephony Toolbar Enterprise. User Guide

3GPP TS V7.6.0 ( )

HTTP Authentication API

HTTP Requests and Header Settings

PCCW mobile SMS Web Access 2.0 User Guide

Pro Solutions Interface specification

BC95-G&BC68 MQTT Application Note

Notification Services

WEB TECHNOLOGIES CHAPTER 1

Authentify SMS Gateway

PUSH services. Document revision 1.0 Date of Issue: 04 October 2018 Date of revision: 04 October Nick Palmer.

E POSTBUSINESS API Login-API Reference. Version 1.1

Enabler Test Specification for RCS Conformance

Sophisticated Simplicity In Mobile Interaction. Technical Guide Number Information Services - Asynchronous SOAP. Version 1.3

msolutions Messenger Customization Options

Lead Actions Guide Version Lead Actions Guide. Prepared By: John Jackson Date: 10 th October 2017 Version: 1.90 Release

Message parameter details

SMS API - Web Services with SSL SHA2 HMAC Version 1.7

Subscriptions and Recurring Payments 2.X

Domains. Overview. Figure 1: APN Profile Rules. CPS Mobile Configuration Guide, Release

Contents. Copyright 2013 Mobile Telephone Networks. All rights reserved

TAXII 2.0 Specification Pre Draft

Integration Guide Xura Messaging SMTP- Interface

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

Home center SMS integration

New Dashboard - Help Screens

CLX Campaign Manager User Guide

Integrating with Cellsynt's SMS gateway via HTTP interface (technical documentation)

Partner Web Services. GetOrderStatus Version 1 Service Manual

API SMS Sending 1. ACCOUNT METHOD GET

Operator Management Manual

PAYFORIT SCHEME PAYFORIT SCHEME SOURCE DOCUMENT 1 ST JUNE 2017

HTTP Specification Version 1.83

version 2.0 HTTPS SMSAPI Specification Version 1.0 It also contains Sample Codes for -.Net - PHP - Java

eshop Installation and Data Setup Guide for Microsoft Dynamics 365 Business Central

Sophisticated Simplicity In Mobile Interaction. Technical Guide Number Information Services - Synchronous SOAP. Version 1.3

Technical Guide. REST API for Mobile Outbound SMS

User Guide. Push Service REST API. Push Service REST API Version 1.5

Tigrillo API User Guide

User Guide Symbian Phone For MTNL Vault

Installation guide Swisscom Mobile Security for Android Devices

Virto SharePoint Alerts Web Part v User and Installation Guide

HTTP Interface API. for SMS Services. Version 2. Claude ICT Poland Sp. z o. o.

Sappi Ariba Network. Summit Guided Session: Account Configuration

BULK SMS RESELLER PLATFORM WEB SERVICES API

Front Gateway Product Description for the connection between the SMS gateway and customer

NMI Query API. 6/30/2008 Network Merchants Inc (NMI)

Policies for Premium Services (4xxxx) Operative Guide Lines

Introduction. Copyright 2018, Itesco AB.

ezeesms URL API Documentation

Partner Integration API Details

SIAM R3.0 USER GUIDE

User Guide. 3CX Enhanced Billing Codes. Version

TeleSign. RSA MCF Plug-in Implementation Guide. Partner Information. TeleSign Verify SMS RSA AAOP MCF Plug-in Last Modified: May 10, 2016

Simple manual for ML administrators (Mailman) Version 4.2 (Mailing List Service)

User Guide. 3CX Robo Dialer. Version

SMS/MMS Business Numbers

CLIENT DASHBOARD. With Cloud Communication Solution (C.C.S).

Transcription:

ERMES Technical Specification for ex MPAY services integration version 1.7 26/10/2018

Summary 1.Changes...3 2.Introduction...4 2.1.Glossary...4 3.ERMES API Overview...5 3.1.Protocol...6 4.ERMES API...9 4.1.API for SMS-MT sending (CP to ERMES)...9 4.2.SMS-MT delivery status notification (ERMES to CP)...14 4.3.SMS-MO notification (ERMES to CP)...16 4.4.API for customer charging (CP to ERMES)...17 4.5.Charging result notification (ERMES to CP)...19 4.6.API for customer unsubscription (CP to ERMES)...21 4.7.Subscription notification (ERMES to CP)...23 4.8.Unsubscription notification (ERMES to CP)...24 5.Operators peculiarities...25 5.1.H3g raw error codes...25 5.1.1.Charging raw errors codes...25 5.1.2.Messaging raw errors codes...27 5.2. Wind raw error codes...28 2/29

1. Changes 1.0 First emission 1.1 Added User must be unsubscribed for Code 1050, 2050, 3050 (5.1.1) 1.2 Added GENERIC CARING in Guide for valorizing delivery-mode (4.1) 1.3 Some clarifications about text param for sendsms (4.1) 1.4 1.5 1.6 Added sending_not_executable reason ERROR (4.1); Added the error-type row in the Ermes response headers table (4.1); Added error type details table for sending (4.1); Added charging_not_executable reason ERROR (4.4), modified (***) description (4.4) Changed request type from GET to POST (4.1); Added content-type header (4.1); Changed text transfer from header to BODY parameter (4.1) ; Added Request method: GET (4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8) Added op-id header (4.1, 4.4, 4.6);Added op-auth-id header (4.1, 4.4, 4.6, 4.7, 4.8); Changed msisdn header (4.1, 4.3, 4.4, 4.6, 4.7, 4.8); Changed op-id header (4.3, 4.7, 4.8) 1.7 Added wind-ref-id on subscription notification (4.7); Updated all WIND RAW errors (5.2) 3/29

2. Introduction The purpose of this document is to describe the full suite of HTTP API provided by Engineering's ERMES to all CPs that migrate ex MPAY services in Ermes. 2.1. Glossary CP ENG ERMES SMS SMS-MT SMS-MO Content Provider Engineering Engineering integration platform Short Message Service SMS-Mobile terminated SMS-Mobile originated 4/29

3. ERMES API Overview The list of all the ERMES functionality offered through HTTP API are here summarized: 1) HTTP API for textual SMS-MO notification (ERMES to CP) 2) HTTP API for textual SMS-MT sending (CP to ERMES) 3) HTTP API for SMS-MT sending result notification (ERMES to CP) 4) HTTP API for customer charging (CP to ERMES) 5) HTTP API for customer charging result notification (ERMES to CP) 6) HTTP API for customer unsubscription (CP to ERMES) 7) HTTP API for customer subscription notification (ERMES to CP) 8) HTTP API for customer unsubscription notification (ERMES to CP) 5/29

3.1. Protocol ERMES API protocol is HTTP/HTTPS to: staging http://<host_tbd>/tbd/serviceengine producion https://<host_tbd>/tbd/serviceengine In every request the CP must include the following headers: Header Name Header value sid authorization Service id provided by ENG Basic <username:password base64 encoded> The credentials, username and password, will be provided by ENG In every request the ERMES will include the following headers: Header Name Header value sid authorization Service id provided by ENG Basic <username:password base64 encoded> The credentials, username and password, will be shared with CP 6/29

For an HTTP API request would be returned : an HTTP code 200 that indicates that request has been processed CP, for some kind of logic errors, can retry the request using a new txid (see retry roules) an HTTP code different from 200 that indicates an error (see table below) CP, for some kind of http errors, can retry the request using the same txid (see retry roules) a read timeout CP can retry the request using the same txid (see retry roules) Code HTTP error code Description 400 Invalid request (check response message) 401 Permission denied. Credentials sent by CP (username/password) are not valid. 403 CP is not authorized to invoke the requested service 429 Too many concurrent request 500 Temporary error (the request should be retried with the same txid) 503 Service Unavailable (the request should be retried with the same txid) The CP has to configure the HTTP Request with: 1) a connection timeout of at least 5 seconds 2) a read timeout of 30 seconds Retry rules on logic error (when result is ERROR) Reason Cause Retry already_sub Customer already subscribed NO invalid_request op_auth_denied Request not valid (missing parameters, invalid parameters value,...) Mobile operator authorization denied (permanent error) NO: check request parameters NO: check op-responsecode to undestand what to do op_sys_not_available tx-already-executed Mobile operator system not avalable (temporary error) YES Transaction already processed by ERMES and executed NO tx-already-expire Transaction already processed by ERMES but expired NO tx-already-requested Transaction already processed by ERMES but not NO 7/29

executed yet wl-msisdn-not-allowed White listed msisdn cannot be charged NO: never charge white listed MSISDN sub_not_found Customer subscription not found in Ermes NO: CP must delete customer subscription charging_failed PULL charging is failed CP should eval error-type (see charging error type details table par 4.5) charging_not_executable Charging not executable NO (more info in the errortype header of the response) sending_not_executable MT sending not executable NO (more info in the errortype header of the response) 8/29

4. ERMES API 4.1. API for SMS-MT sending (CP to ERMES) A CP can send a textual SMS-MT to a customer through this API. At the moment DSR to device are not enabled. Request method: POST of type application/x-www-form-urlencoded. Request BODY form's parameters: text=<max 160 GSM7 default characters> Header name Description Mandatory cmd Must be: sendsms YES tx-id msisdn Unique identifier of the send SMS request, generated by the CP (String maxlenlen 50) Customer mobile number with the international prefix in the format +cc (example for Italy +39) YES YES categ Service category provided by ENG YES op-id Operator id; must be one of: h3g, wind YES delivery-mode Can be one of: 0 for caring, 1 for on-demand events, 2 for subscribed customers NO (default: 0) reason Can be one of:: DEFAULT, PIN, REMIND, UNSUB, SUB, RENEW_SUB NO (default: DEFAULT) caring-type h3g specific optional parameter; must be on of: WELCOME, GOODBYE, WEEKLY_REMINDER, MONTHLY_REMINDER, WELCOME_BACK; if valorized H3G sends a preconfigured text but CP must valorize also the text header with a dummy value cause it is mandatory NO op-auth-id Operator authorization id for the subscription YES(*) content-type Must be application/x-www-form-urlencoded YES (*) must be valorized when op-id is wind NOTE: text must contains only GMS7 chars; maxlen can be reduced using extended GSM7 chars as the Euro sign; to cover all GSM7 chars table we suggest to encode the body using the charset ISO-8859-15. 9/29

Request example: POST /path-tbd/serviceengine HTTP/1.1 Content-Type: application/x-www-form-urlencoded; charset=iso-8859-15 Authorization: Basic Xsdksjdkkfj443kdw sid: ENG_SERVICE_ID_TBD cmd: sendsms tx-id: jksnmdjcn01928 msisdn: +393331122333 categ: /eng/categ/tbd op-id: h3g text=this is the text of the message 10/29

If ERMES returns an HTTP 200 response code, the headers will be: Header name Description Mandatory result Can be one of: SUCCCES, ERROR YES reason Can be one of: invalid_request, op_sys_not_available, op_auth_denied, sending_not_executable (*) msg-id Message unique identification long number in ERMES (**) error-type See error-type values table below (***) op-response-code Raw operator response code: see raw erorr codes tables (String maxlen 50) NO op-response-message Raw operator response message (String maxlen 250) NO (*) present only when result is ERROR (**) present only when result is SUCCESS (***) present only when result is ERROR and reason is sending_not_executable Response example: Content-Length: 0 Date: Thu, 01 Mar 2017 16:28:41 GMT Server: Apache-Coyote/1.1 result: SUCCESS msg-id: 1220193 11/29

Guide for valorizing delivery-mode, cents and reason according to message type. Message Type delivery-mode reason WELCOME 2 SUB GOODBYE 0 UNSUB PERIODIC SUB REMINDER 2 REMIND PIN OR OTP 0 PIN GENERIC CARING 0 DEFAULT 12/29

Error-type values table: NOT_COMPLIANT Error-type value Description Sending failure: the request params are not compliant with the service configurtation (CP must not retry) 13/29

4.2. SMS-MT delivery status notification (ERMES to CP) In order to receive SMS-MT delivery status the CP has to provide an HTTP/HTTPS URL. This URL will be shared during the integration phase. Request method: GET. Header name Description Mandatory type Will be: forwarddsr YES tx-id Unique identifier of notification request: the same value provided by CP on SMS-MT send request (String maxlen 50) YES sid ERMES service identification string (String maxlen 50) YES msg-id Message unique identification number in ERMES: the same returned by SMS-MT send response (long) YES delivery-status See delivery status details table below YES op-response-code Raw operator response code: : see raw erorr codes tables (String maxlen 50) NO op-response-message Raw operator response message (String maxlen 250) NO CP has to return an HTTP 200 response otherwise ERMES will retry to send the notification request. Request example: GET /path-tbd/cp-resource-tbd HTTP/1.1 authorization: Basic Xsdksjdkkfj443kdw type: forwarddsr tx-id: jksnmdjcn01928 sid: ENG_SERVICE_ID_TBD msg-id: 1220193 delivery-status: ACCEPTED_BY_OP 14/29

Delivery status details table: Delivery-status value Level Description NO_ROUTE QUEUING Command failure caused by ERMES routing roules misconfiguration. EXPIRED_IN_QUEUE COMMAND_FAILED DROPPED_BY_GTW UNKNOWN_OP_RESPONSE ACCEPTED_BY_OP REJECTED_BY_OP SMSC COMMAND SMSC COMMAND SMSC COMMAND SMSC COMMAND SMSC COMMAND SMSC COMMAND Delivery failure caused by message time to live expired in the outcoming queue. Delivery failure caused by a definitive error Delivery failed caused by a definitive error returned by the intermediator sms gateway Unknown delivery result cause no response received sending the delivery command to the operator smsc Delivery command accepted by operator smsc Delivery command rejected by operator smsc (see op-responsecode/op-response-message) DROPPED_BY_OP SMSC DSR Device delivery dropped by the operator sms after accepting the delivery command (see op-response- code/op-response-message) (*) DELIVERED_TO_DEV SMSC DSR Message delivered to the mobile device (*) REJECTED_BY_DEV SMSC DSR Device delivery failed (see op-response- code/op-response-message) (*) (*) will be received only if dsr has been requested 15/29

4.3. SMS-MO notification (ERMES to CP) In order to receive SMS-MO the CP has to provide an HTTP/HTTPS URL This URL will be shared during the integration phase. Request method: GET. Header name Description Mandatory type Will be: forwardmo YES tx-id Unique identifier of notification request generated by ERMES (String maxlen 50) YES sid ERMES service identification string YES op-id Operator id; can be one of: h3g, wind YES msisdn Customer mobile number with the international prefix in the format +cc (example for Italy +39) YES text Text of the message YES datetime Message datetime formatted as dd/mm/yyyy HH:mm:ss.SSS YES CP has to return an HTTP 200 response otherwise ERMES will retry to send the notification request. Request example: GET /path-tbd/cp-resource-tbd HTTP/1.1 authorization: Basic Xsdksjdkkfj443kdw type: forwardmo tx-id: ENG_SERVICE_ID_TBD_dydtc6632881 sid: ENG_SERVICE_ID_TBD op-id: h3g msisdn: +393331122333 text: this is the message text datetime: 01/03/2017 15:54:32.763 16/29

4.4. API for customer charging (CP to ERMES) A CP can charge customer through this API. Request method: GET. Header name Description Mandatory cmd Must be: charge YES tx-id msisdn Unique identifier of the send SMS request, generated by the CP (String maxlen 50) Customer mobile number with the international prefix in the format +cc (example for Italy +39) YES YES categ Service category provided by ENG YES op-id Operator id; must be one of: h3g, wind YES offer-mode Must be one of: PUSH, PULL YES(*) cents Price in Euro cents (must be > 0) YES op-tx-id Operator tx id: can be valorized to retry a failed charging with error-type GENERIC_RETRY_SAME_TX (to avoid multiple billings) NO op-auth-id Operator authorization id for the subscription YES(**) (*) if PUSH charging will be executed in an asynchronous way (so with a separate notification for the result); otherwise will be execute in a synchronous way with the result in the response (**) must be valorized when op-id is wind Request example: GET /path-tbd/serviceengine?sid=eng_service_id_tbd HTTP/1.1 Authorization: Basic Xsdksjdkkfj443kdw sid: ENG_SERVICE_ID_TBD cmd: charge tx-id: jksnmdjcn01929 msisdn: +393331122333 categ: /eng/categ/tbd op-id: h3g offer-mode: PULL cents: 30 17/29

If ERMES returns an HTTP 200 response code, the headers will be: Header name Description Mandatory result Can be one of: SUCCCES, ERROR YES(*) reason Can be one of: wl-msisdn-not-allowed, tx-alreadyexecuted, tx-already-expire, tx-alreadyrequested, invalid_request, op_sys_not_available, op_auth_denied, sub_not_found, charging_failed, charging_not_executable (**) error-type See charging error type details table (par 4.5) (***) op-tx-id op-response-code Operator tx id: can be used to retry a failed charging with error-type GENERIC_RETRY_SAME_TX (to avoid multiple billings) (String maxlen 50) Raw operator response code: see raw erorr codes tables (String maxlen 50) (****) (****) op-response-message Raw operator response message (String maxlen 250) (****) (*) when the offer-mode is PUSH the SUCCESS result means 'take in charge': the charging result will be notified after in asynchronous way (see par 4.5) (**) present only when result is ERROR (***) present only when result is ERROR and reason is charging_failed or charging_not_executable (****) present only when provided by the mobile operator NOTE: charging_failed will be returned for PULL chargings; check error-type, op-response-code and opresponse-message for further details about the problem. Response example: Content-Length: 0 Date: Thu, 01 Mar 2017 18:18:41 GMT Server: Apache-Coyote/1.1 result: SUCCESS 18/29

4.5. Charging result notification (ERMES to CP) In order to receive charging results the CP has to provide an HTTP/HTTPS URL. This URL will be shared during the integration phase. Request method: GET. Header name Description Mandatory type Will be: chargingstatus YES tx-id Unique identifier of notification request: the same value provided by CP on charging request request (String maxlen 50) YES sid ERMES service identification string (String maxlen 50) YES result Can be on of: OK, KO, UNKNOWN YES error-type See charging error type details table below (*) op-tx-id op-response-code Operator tx id: can be used to retry a failed charging with error-type GENERIC_RETRY_SAME_TX (to avoid multiple billings) (String maxlen 50) Raw operator response code: see raw erorr codes tables (String maxlen 50) (**) NO op-response-message Raw operator response message (if available) (String maxlen 250) NO (*) present only when result is KO (**) present only if provided by the mobile operator CP has to return an HTTP 200 response otherwise ERMES will retry to send the notification request. Request example: GET /path-tbd/cp-resource-tbd HTTP/1.1 authorization: Basic Xsdksjdkkfj443kdw type: chargingstatus tx-id: jksnmdjcn01929 sid: ENG_SERVICE_ID_TBD resul: OK 19/29

Charging error type details table: Error-type value EXPIRED_IN_QUEUE NO_CREDIT SIM_TO_BE_DELETED SUB_TO_BE_DELETED PRICE_NOT_VALID OFFER_MODE_NOT_VALID NOT_COMPLIANT UNKNOWN_OP_RESPONSE GENERIC_AVOID_RETRY GENERIC_RETRY_NEW_TX GENERIC_RETRY_SAME_TX Description Charging failure caused by command expiration in sending queue: CP can retry the charging sending a new request (without valorize op-tx-id parameter) Charging failure caused by not enough customer credit available: CP can retry the charging sending a new request (without valorize op-tx-id parameter) Charging failure: CP must delete all MSISDN subscriptions (CP must not retry) Charging failure: CP must delete the specific customer subscription (CP must not retry) Charging failure: price value is not valid/allowed for the service (CP must not retry) Charging failure: offer-mode is not valid/allowed for the service (CP must not retry) Charging failure: the request params are not compliant with the service configurtation (CP must not retry) Charging result is unknown: (CP should avoid the retry for the transaction) Charging failure caused by an operator error (CP must not retry) Charging failure caused by a definitive operator error: CP can retry the charging (without valorize op-tx-id parameter) Charging failure caused by a temporary operator error: CP can retry the charging (valorizing the op-tx-id parameter with the value received) 20/29

4.6. API for customer unsubscription (CP to ERMES) A CP can unsubscribe a customer, from a service, through this API. Request method: GET. Header name Description Mandatory cmd Must be: unsub YES msisdn Customer mobile number with the international prefix in the format +cc (example for Italy +39) YES categ Service category provided by ENG YES op-id Operator id; must be one of: h3g, wind YES channel Request channel; must be one of: WEB, WAP, SMS YES op-auth-id Operator authorization id for the subscription YES(*) (*) must be valorized only when op-id is wind Request example: GET /path-tbd/serviceengine?sid=eng_service_id_tbd HTTP/1.1 Authorization: Basic Xsdksjdkkfj443kdw cmd: unsub msisdn: +393331122333 categ: /eng/categ/tbd op-id: h3g channel: WEB 21/29

If ERMES returns an HTTP 200 response code, the headers will be: Header name Description Mandatory result Can be one of: SUCCCES, ERROR YES reason Can be one of: invalid_request, op_sys_not_available (*) op-response-code Operator error response code (**) op-response-message Operator error response message (**) (*) present only when result is ERROR (**) present only if provided by the mobile operator when reason is op_sys_not_available Response example: Content-Length: 0 Date: Thu, 01 Mar 2017 19:18:41 GMT Server: Apache-Coyote/1.1 result: SUCCESS 22/29

4.7. Subscription notification (ERMES to CP) In order to receive customer subscriptions, coming from the operators provisioning system, the CP has to provide an HTTP/HTTPS url. This URL would be shared during integration phase. Request method: GET. Header name Description Mandatory type Will be: subscribe YES tx-id Unique identifier of notification request generated by ERMES (String maxlen 50) YES sid ERMES service identification string (String maxlen 50) YES categ ERMES service category (String maxlen 250) YES op-id Operator id; can be one of: h3g, wind YES msisdn op-auth-id Customer mobile number with the international prefix in the format +cc (example for Italy +39) Operator authorization id for the subscription (if available) (String maxlen 50) YES NO h3g-access-id H3G specific information (if available) (String maxlen 250) (*) wind-sub-id WIND specific information: is the same value passed in the query string parameter 'i' during activation phase (**) channel Request channel; can be on of: SMS, WEB, WAP, SERVICE, OPERATOR YES (*) should be valorized only when op-id is h3g (**) should be valorized only when op-id is wind CP has to return an HTTP 200 response otherwise ERMES will retry to send the notification request. Request example: GET /path-tbd/cp-resource-tbd HTTP/1.1 authorization: Basic Xsdksjdkkfj443kdw type: subscribe tx-id: ENG_SERVICE_ID_TBD_dydtc6632882 sid: ENG_SERVICE_ID_TBD categ: /eng/service-categ-tbd op-id: h3g msisdn: +393290011001 channel: OPERATOR 23/29

4.8. Unsubscription notification (ERMES to CP) In order to receive customer unsubscriptions, coming from the operators provisioning system, the CP has to provide an HTTP/HTTPS url. This URL would be shared during integration phase. Request method: GET. Header name Description Mandatory type Will be: unsubscribe YES tx-id Unique identifier of notification request generated by ERMES (String maxlen 50) YES sid ERMES service identification string (String maxlen 50) YES categ ERMES service category (String maxlen 250) YES op-id Operator id; can be one of: h3g, wind YES msisdn op-auth-id Customer mobile number with the international prefix in the format +cc (example for Italy +39) Operator authorization id for the subscription (if available) (String maxlen 50) YES NO channel Request channel; can be on of: SMS, WEB, WAP, SERVICE, OPERATOR YES CP has to return an HTTP 200 response otherwise ERMES will retry to send the notification request. Request example: GET /path-tbd/cp-resource-tbd HTTP/1.1 authorization: Basic Xsdksjdkkfj443kdw type: unsubscribe tx-id: ENG_SERVICE_ID_TBD_dydtc6632883 sid: ENG_SERVICE_ID_TBD categ: /eng/service-categ-tbd op-id: h3g msisdn: +393290011001 channel: OPERATOR 24/29

5. Operators peculiarities 5.1. H3g raw error codes 5.1.1. Charging raw errors codes Code value will be indicated by the op-response-code header of the charging response or charging notification. Code Description Action 1001 Error in transaction execution 1002 Spending limit reached 1003 System internal error 1004 Residual Credit Check failed 1050 Do not retry transaction for this user User must be unsubscribed 1099 System internal error 2001 System internal error 2050 Do not retry transaction for this user User must be unsubscribed 2099 System internal error 3001 Error in transaction execution 3002 Spending limit reached 3003 System internal error 3004 Residual Credit Check failed 3010 Please retry credit reservation delivery 3050 Do not retry transaction for this user User must be unsubscribed 4001 Invalid username or password 4002 XML Parsing Error 4003 XML Content Error 4004 Service ID or Service Name not recognized 4005 Supplier ID (Msite ID) not compliant with service business schema 4006 Serving Product ID not compliant with service business schema 4007 Price not compliant with service business schema 25/29

4008 Payment transaction not performed for MSISDN (no compliancy with service business schema) 4009 Payment transaction not performed for MSISDN (no active subscription for the service) User must be unsubscribed 4010 MSISDN deactivated on 3 network User must be unsubscribed 4011 Payment transaction not performed for MSISDN: payment limit reached in current subscription period 4012 Payment transaction refused: BILLING_TYPE not compliant with 43ervices business schema 4013 Billing not allowed for this user No welcome message sent 4014 Billing not allowed for this user CARING RULES NOT RESPECTED 4015 Wrong MSISDN format 4016 Billing not allowed for this user SERVICE BARRED User must be unsubscribed 4018 Family Filter is active for the customer User must be unsubscribed 5001 Internal Server Error 5002 H3G system timeout 5003 H3G system error 26/29

5.1.2. Messaging raw errors codes Code value will be indicated by the op-response-code header of the SMS-MT delivery status notification. Code Description Action 3001 Error recipient address length in the request (min 3, max 14) 3002 Invalid username or password 3003 No Account [account] associated to User [user] 4001 XML Parsing Error 4002 XML Content Error 4003 Service ID or Service Name not recognized 4004 Service ID or Service Name not paired with Account 4005 Payment transaction not performed for MSISDN (no compliancy with service business schema) 4006 Payment transaction not performed for MSISDN (no active subscription for the service) User must be unsubscribed 4007 Price not compliant with service business schema 4008 MSISDN deactivated on 3 network User must be unsubscribed 4009 SMS MT - Body Text Keywork not present as specified in service business schema 4010 Payment transaction not performed for MSISDN: payment limit reached in current subscription period 4011 Billing not allowed for this user - No welcome message sent 4012 Payment transaction refused: BILLING_TYPE not compliant with service business schema 4013 Weekly Caring not set for this service 4014 Billing not allowed for this user - CARING RULES NOT RESPECTED 4016 Caring type not recognized 5001 Internal Server Error 5002 H3G system timeout 27/29

5.2. Wind raw error codes Code Description Action 1 Invalid Username/Password 2 Connection not allowed from source address 3 Permission denied to use this operation 12 MT.Body# is out of MT.BodyCount range 13 ServiceType not set to the requested operation. 14 Invalid content source 21 Msisdn Malformed 22 Unauthorized Carrier 25 Not Retryable Error 28 MSISDN sim is child 32 Problems connecting to carrier 34 Content not delivered : MT.ContentID already exists 35 Error Retryable 37 Invalid operation/service disable (Just for activation) 44 MSISDN deleted User must be unsubscribed 51 The maximum service amount was already reached 53 The maximum charge retries was already reached 58 The maximum monthly cap was reached 60 The TARGET is already active 63 MSISDN not authorized 64 Service not found 65 The TARGET is already deactived User must be unsubscribed 91 System closed 92 Browsing timeout 96 Internal database access error 97 Timeout error 28/29

98 Error processing the request: invalid parameter(s) 99 Timeout Error 29/29