2015-09-20 4 views
3

Я пишу приложение Twilio + Parse, которое позволяет пользователям делиться контактной информацией с помощью SMS. У меня есть образец визитка в виде строки в JavaScript:Создать VCard и отправить через Twilio

message = ''; 
    message += 'BEGIN:VCARD'; 
    message += 'BDAY;VALUE=DATE:1963-09-21'; 
    message += 'VERSION:3.0'; 
    message += 'N:Stenerson;Derik'; 
    message += 'FN:Derik Stenerson'; 
    message += 'ORG:Microsoft Corporation'; 
    message += 'ADR;TYPE=WORK,POSTAL,PARCEL:;;One Microsoft Way;Redmond;WA;98052-6399;USA'; 
    message += 'TEL;TYPE=WORK,MSG:+1-425-936-5522'; 
    message += 'TEL;TYPE=WORK,FAX:+1-425-936-7329'; 
    message += 'EMAIL;TYPE=INTERNET:[email protected]'; 
    message += 'END:VCARD'; 
    message += 'BEGIN:VCARD'; 
    message += 'VERSION:3.0'; 
    message += 'N:Ganguly;Anik'; 
    message += 'FN:Anik Ganguly'; 
    message += 'ORG: Open Text Inc.'; 
    message += 'ADR;TYPE=WORK,POSTAL,PARCEL:;Suite 101;38777 West Six Mile Road;Livonia;MI;48152;USA'; 
    message += 'TEL;TYPE=WORK,MSG:+1-734-542-5955'; 
    message += 'EMAIL;TYPE=INTERNET:[email protected]'; 
    message += 'END:VCARD'; 
    message += 'BEGIN:VCARD'; 
    message += 'VERSION:3.0'; 
    message += 'N:Moskowitz;Robert'; 
    message += 'FN:Robert Moskowitz'; 
    message += 'EMAIL;TYPE=INTERNET:[email protected]'; 
    message += 'END:VCARD'; 

И я пытаюсь выяснить, как отправить на номер телефона в качестве визитной карточки, так что телефон обнаруживает его вместо текста.

У меня есть метод:

function respondWithMessage(message, response) { 
    response.set('Content-Type', 'text/xml'); 
    var xmlVersion = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n'; 
    message = '<Message>\n' + message + '\n</Message>'; 
    message = '<Response>\n' + message + '\n</Response>'; 
    message = xmlVersion + message; 
    response.send(message); 
} 

, с которым я могу отправлять текстовые сообщения. В своей документации Twilio заявляет, что текстовые/vcard-сообщения поддерживаются здесь: https://www.twilio.com/docs/api/rest/accepted-mime-types Но я не смог заставить его работать. Не могли бы вы привести пример того, как отправить эту VCard через SMS с Twilio? Спасибо!

+0

Вы пытаетесь ответить vCard или просто отправить его? Поскольку вы не сможете обернуть vCard в TwiML, это то, что вы связываете. Не могли бы вы предоставить дополнительную информацию? –

+0

Я пытаюсь сгенерировать vCard из контактной информации пользователя, которая хранится на моем сервере и отправить это через SMS другому пользователю. – AttilaTheFun

ответ

4

Twilio разработчик евангелист здесь. Если вы пытаетесь запустить новое сообщение, вам не нужно использовать TwiML, но можете просто использовать API-интерфейс остального для отправки информации с вашего сервера.

С Parse.com это должно быть что-то вроде следующего:

// Require and initialize the Twilio module with your credentials 
var client = require('twilio')('ACCOUNT_SID', 'AUTH_TOKEN'); 

// Send an SMS message 
client.sendSms({ 
    to:'to', 
    from: 'from', 
    body: 'Hello world!', 
    mediaUrl: your-vcard-url 
    }, function(err, responseData) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log(responseData.from); 
     console.log(responseData.body); 
    } 
    } 
); 

Так все, что вам нужно сделать сейчас, убедитесь, что your-vcard-url' is accessible by Twilio, and that its mime type is set to be текст/vcard`.

Другими словами, вы не можете просто отправить содержимое vcard через текстовое сообщение, но вам нужно сообщить Twilio, где фактически находится vcard, поэтому он включает его в сообщение.

Примером действительного URL-адреса для vcard будет this one. Надеюсь, это вам поможет

+0

Я пытаюсь использовать этот метод, описанный выше, но я заметил, что Twilio отправляет VCard, связанную URL-адресом Twilio, а не с визитной карточкой VCard в сообщении. Я тестирую iOS. – johnnymire

Смежные вопросы