====== Услуга смс:контент ====== ===== Общая информация ===== **Услуга модерируется.** Услуга **смс:контент** позволяет организовать отправку на мобильный телефон пользователя сайта ссылку на скачивание любой картинки, музыкального или видео-фрагмента. Пользователь выбирает понравившийся контент и после оплаты в ответном SMS получает ссылку для скачивания этого контента. ===== Алгоритм работы ===== - Пользователь выбирает ресурс (mp3-файл, изображение или его фрагмент) и модель телефона, на который должен быть отправлен контент. - Выбранный ресурс копируется на наш сервер, где сохраняется под уникальным номером ресурса. Кроме того, этот номер вместе с соответствующим ID услуги **смс:контент** заносится в базу данных. - В ответ пользователю предлагается заполнить поля выбора страны/оператора для получения инструкции по отправке SMS, которая включает в себя: * короткий номер, на который необходимо отправить SMS; * текст SMS-сообщения, состоящий из: * префикса; * сгенерированного уникального номера ресурса. * стоимость SMS, которая в зависимости от страны может как включать, так и не включать НДС; * указание о дополнительных налогах и сборах, которые могут быть установлены в выбранной стране; * дополнительная информация: правила составления текста SMS, условия ответственности, информация о технической поддержке и пр. - Отправленное пользователем SMS через оператора (и агрегатора) поступает на наш сервер. - Согласно тексту SMS определяется запись в базе данных, содержащая соответствующий номер ресурса и ID **смс:контента**. - Далее проверяется статус оплаты принятого SMS оператором сотовой связи. - Если проверка прошла успешно: * средства зачисляются на баланс услуги; * пользователю отправляется ответное SMS-сообщение со ссылкой на наш сервер для скачивания оплаченного ресурса. __**Замечание.**__ К сожалению, не все операторы и не все модели телефонов поддерживают технологию, которая позволяет пользователю перейти прямо по полученной ссылке. Например, пользователям iPhone придется копировать пришедшую ссылку в окно браузера вручную, поскольку все ссылки, приходящие на эти аппараты в тексте SMS-сообщений, неактивны. ===== Добавление услуги и настройка ===== Добавление/настройка услуги **смс:контент** производится в Панели Управления -> Услуги -> смс:контент. После добавления услуги необходимо на сетевом ресурсе разместить [[#Клиентский код скрипта услуги смс:контент|клиентский код скрипта]], взаимодействующий с нашим сервером и реализующий соответствующую логику. Чтобы подключить к аккаунту новый **смс:контент**, необходимо нажать "Добавить" и заполнить предлагаемую форму. При настройке параметров **смс:контента** следует учитывать следующие особенности: - **Адрес сайта**\\ Обязательно необходимо указать правильный адрес сайта, на котором планируется установить услугу. Этот адрес будет проверен модератором, после чего сервис заработает. - **Стоимость**\\ Выбирается тариф (по стране/оператору) равный или больший заданной стоимости. Если стоимость выше любого тарифа в одной или нескольких странах (операторах), то они исключаются из списка доступных (из [[#Тарифная сетка|тарифной сетки]]). Если стоимость превышает тарифы во всех странах, то выдается пустой список (пустая [[#Тарифная сетка|тарифная сетка]]). - **Тип sms:content**\\ Параметр необходимо задать, если услуга будет установлена на ресурсе, содержащим контент "для взрослых". В этом случае страны, в которых запрещено подключение сайтов "для взрослых", автоматически исключаются из списка доступных (из [[#Тарифная сетка|тарифной сетки]]), кроме России. - **Рассылки** - этот параметр не задействован, т.е. игнорируется. Клиентский код скрипта доступен в Панели Управления по ссылке [[#Клиентский код скрипта услуги смс:контент|HTML Код]] http://smscoin.com/content/html// и размещается в любом месте веб-страницы. ===== Клиентский код скрипта услуги смс:контент ===== По умолчанию клиентский код выглядит следующим образом: Данный клиентский код используется для изображений (картинок). Для mp3-файлов необходимо использовать следующий код: **Установка языка интерфейса по умолчанию**\\ По умолчанию используется русский язык интерфейса. Для смены языка, например на английский, необходимо в коде скрипта добавить строку smsContentLang = "english"; Вместо english можно указать любой поддерживаемый язык. ==== Настройка отправки изображений ==== Чтобы активировать услугу, пользователь должен кликнуть по особым образом сформированной ссылке. Необходимо использовать ссылки следующего вида: текст ссылки **rel** указывает на URL-адрес конкретного изображения, которое пользователь сможет получить на свой мобильный телефон после оплаты. Текст ссылки может быть любым. ==== Альтернативный вариант настройки отправки изображений ==== Альтернативный вариант установки заключается в том, чтобы добавить класс **sendpic** в тег **img**: При использовании этого варианта полный путь к изображению уже указан в параметре **src**, и дополнительно его указывать уже не потребуется. ==== Настройка отправки mp3-файлов ==== Для отправки mp3-файла на мобильный телефон никакого дополнительного кода на странице не нужно, должна присутствовать только ссылка на сам файл mp3. В ссылке должен фигурировать полный абсолютный путь, вида http://example.com/file.mp3 ===== Расширенный код скрипта услуги смс:контент ===== Если возникнет необходимость внести изменения в клиентский код скрипта услуги **смс:контент**, например изменить кодировку скрипта, можно вместо src="http://service.smscoin.com/js/sendpic.js" или src="http://service.smscoin.com/js/sendmp3.js" установить модифицированный код локально на сервере владельца. При этом можно\\ либо внедрить код непосредственно вместо параметра **src** следующим образом: либо скопировать его в отдельный файл и прописать URL-адрес этого файла в параметре **src** вместо указанного по умолчанию: Соответствующие скрипты по умолчанию для отправки изображений и mp3-файлов приведены ниже. ==== Скрипт отправки изображений по умолчанию ==== window.belongsToClass = function(element, className) { return !!element.className && new RegExp('\\b' + className.replace(/\-/, '\\-') + '\\b').test(element.className); }; window.absolutize = function(url) { if (/^https?:/i.test(url)) return url; if (url.charAt(0) == '/') return 'http://' + location.hostname + url; else return 'http://' + location.hostname + location.pathname.replace(/[^\/]+$/, '') + url; }; window.sendpic_clientInit = function() { var lang = window.smsContentLang? '&language=' + smsContentLang: ''; var links = document.getElementsByTagName('a'); for (var i = 0; i < links.length; ++i) { if (belongsToClass(links[i], 'sendpic')) { links[i].onclick = function() { window.open('http://service.smscoin.com/js/sendpic/index.html?sid=' + smsContentId + '&url=' + encodeURIComponent(absolutize(this.rel)) + lang, 'sendpic_popup', 'height=600,left=' + (screen.width - 800 >> 1) + ',resizable=yes,scrollbars=yes,top=' + (screen.height - 600 >> 1) + ',width=800'); return false; } } } var images = document.getElementsByTagName('img'); for (var i = 0; i < images.length; ++i) { if (belongsToClass(images[i], 'sendpic')) { images[i].style.cursor = 'pointer'; images[i].title = 'Нажмите для отправки себе на мобильный'; images[i].onclick = function() { window.open('http://service.smscoin.com/js/sendpic/index.html?sid=' + smsContentId + '&url=' + encodeURIComponent(absolutize(this.src)) + lang, 'sendpic_popup', 'height=600,left=' + (screen.width - 800 >> 1) + ',resizable=yes,scrollbars=yes,top=' + (screen.height - 600 >> 1) + ',width=800'); return false; } } } }; if (window.addEventListener) { window.addEventListener('load', sendpic_clientInit, false); } else if (window.attachEvent) { window.attachEvent('onload', sendpic_clientInit); } ==== Скрипт отправки файлов mp3 по умолчанию ==== window.insertAfter = function(node, reference) { if (reference.nextSibling) reference.parentNode.insertBefore(node, reference.nextSibling); else reference.parentNode.appendChild(node); }; window.absolutize = function(url) { if (/^https?:/i.test(url)) return url; if (url.charAt(0) == '/') return 'http://' + location.hostname + url; else return 'http://' + location.hostname + location.pathname.replace(/[^\/]+$/, '') + url; }; window.sendmp3_play = function(url) { url = encodeURIComponent(absolutize(url)); var el = document.createElement('span'); el.innerHTML = ''; el.style.verticalAlign = 'middle'; return el; } window.sendmp3_send = function(url) { var lang = window.smsContentLang?'&s_language=' + smsContentLang : ''; var el = document.createElement('span'); var image = document.createElement('img'); image.width = 24; image.height = 24; image.src = 'http://service.smscoin.com/js/sendmp3/send.png'; image.rel = encodeURIComponent(absolutize(url)); image.alt = ''; image.title = 'Отправить себе на мобильный'; image.onclick = function() { window.open('http://service.smscoin.com/content/?content=' + smsContentId + lang + '&type=mp3&src=' + this.rel, 'sendmp3_popup', 'height=600,left=' + (screen.width - 800 >> 1) + ',resizable=yes,scrollbars=yes,top=' + (screen.height - 600 >> 1) + ',width=800'); }; image.style.cursor = 'pointer'; el.appendChild(image); el.style.verticalAlign = 'middle'; return el; }; window.sendmp3_clientInit = function() { var links = document.getElementsByTagName('a'); for (var i = 0; i < links.length; ++i) { if (/\.mp3$/i.test(links[i].href)) { insertAfter(sendmp3_send(links[i].href), links[i]); insertAfter(sendmp3_play(links[i].href), links[i]); } } } if (window.addEventListener) { window.addEventListener('load', sendmp3_clientInit, false); } else if (window.attachEvent) { window.attachEvent('onload', sendmp3_clientInit); } ===== Пример работы ===== Пример работы услуги можно посмотреть [[http://smscoin.com/demo/content/index.html|здесь]]