Twilio에서 팩스 전송
htps : // 꼬리 rt. 그리고 오. 코 m / hc / 엔 - s / 아 rc c / s / 1260800821230-P 로그 라마 b ぇ
일본에서는 아직 팩스 이용률이 높다고 들었습니다만, 내가 사내 SE로서 근무하는 업계에서도 팩스는 메일 이상으로 이용되고 있는 상태입니다. 그래서 우리는 업무 시스템에서 직접 팩스를 보낼 수 있는 구조를 구축하고 있습니다. 현재로서는 사내에서 팩스 서버를 운용하고 있지만, API가 충실하고 있는 기분이 좋은 외부의 서비스는 없는 것인가라고 때때로 정보 수집하고 있었습니다. 그리고 최근에 발견한 것이 아래의 기사입니다.
드디어 발표! 팩스 기능 릴리스(twilio 블로그)
h tps : ///와 ぃぃ오.ぢーぇb. 이 m/b㎉g/로 ゔぇぺぺr/엔 try000307. HTML
요금(잠정)
요금에 대해서는 잠정이라고 하는 것으로 이하와 같이 기재되고 있습니다. 이전에 API를 사용할 수 있는 국내 팩스 서비스를 몇 가지 조사해 본 적이 있지만 대체로 1통당 20엔 정도는 했습니다. 이 잠정 요금이라면(송신하는 파일에 따릅니다만) 1통당 6.9엔이라는 것이 되기 때문에, 업무로 사용할 수 있는 레벨의 비용이 아닐까 생각했습니다.
번호 취득
팩스용으로 번호를 구입합니다. 일본 번호에서도 팩스를 사용할 수있는 것 같습니다.
API를 사용해보기
최근 애용하고있는 Insomnia을 사용하여 REST API를 사용해보십시오. 사양은 여기
URL은 기본 인증을 URL에 통합한 것을 사용합니다.
URL
https://{ACCOUNT SID}:{AUTH TOKEN}@fax.twilio.com/v1/Faxes
Header
Conetent-Type: multipart/form-data
twilio에서 액세스 할 수있는 위치에 PDF 파일을 놓고 URL을 MediaUrl로 설정합니다. PDF 파일의 업로드는 할 수 없는 것 같기 때문에, 실제로 업무로 이용하는 경우에는 기본 인증을 설정한 장소에 두게 될 것 같습니다.
Body
To: {送信先FAX番号}
From: {さっき取得した番号}
MediaUrl: {インターネット上に置いておいたPDFファイルのURL}
이것으로 송신하면, 가볍게 팩스를 송신할 수 있어 응답이 돌아왔습니다.
{
"media_sid": null,
"status": "queued",
"direction": "outbound",
"from": "+8150********",
"date_updated": "2017-12-24T09:54:37Z",
"price": null,
"account_sid": "***",
"to": "+81***",
"date_created": "2017-12-24T09:54:37Z",
"url": "https://fax.twilio.com/v1/Faxes/FXae********************",
"sid": "FXae********************",
"duration": null,
"num_pages": null,
"quality": "fine",
"price_unit": null,
"api_version": "v1",
"media_url": null,
"links": {
"media": "https://fax.twilio.com/v1/Faxes/FXae********************/Media"
}
}
제출한 팩스 정보는 다음 URL을 사용하여 GET에서 얻을 수 있습니다. FaxSid는 제출 시 반환된 응답에 포함됩니다.
URL
https://{ACCOUNT SID}:{AUTH TOKEN}@fax.twilio.com/v1/Faxes/{FaxSid}
방금 제출한 팩스 정보를 시도해 보겠습니다. 안전하게 보낼 수있는 것 같습니다. 비용도 취득할 수 있고, 송신한 PDF를 취득할 수 있는 URL도 기재되어 있습니다. 덧붙여서, 아직 100 페이지 이내이므로 통신비만이 되고 있네요.
{
"media_sid": "ME**************************",
"status": "delivered",
"direction": "outbound",
"from": "+8150*******",
"date_updated": "2017-12-07T09:55:17Z",
"price": "-5.4",
"account_sid": "AC*************************",
"to": "+81********",
"date_created": "2017-12-07T09:54:37Z",
"url": "https://fax.twilio.com/v1/Faxes/FXae********************",
"sid": "FXae********************",
"duration": 24,
"num_pages": 1,
"quality": "fine",
"price_unit": "JPY",
"api_version": "v1",
"media_url": "https://media.twiliocdn.com/fax/...........",
"links": {
"media": "https://fax.twilio.com/v1/Faxes/FXae********************/Media"
}
}
C #으로 보내기
먼저 nuget으로 Twilio 라이브러리를 설치합니다.
공식 문서에 샘플 코드가 기재되어 있으므로 계정 정보, 팩스 번호, PDF의 URL을 설정하면 이동합니다.
// 公式ドキュメントから引用
// https://jp.twilio.com/docs/api/fax/rest/faxes#list-post
// Download the twilio-csharp library from twilio.com/docs/libraries/csharp
using System;
using Twilio;
using Twilio.Rest.Fax.V1;
using Twilio.Types;
using System.Collections.Generic;
class Example
{
static void Main(string[] args)
{
// Find your Account Sid and Auth Token at twilio.com/console
const string accountSid = "AC*************************";
const string authToken = "your_auth_token";
TwilioClient.Init(accountSid, authToken);
var to = "+81***";
var mediaUrl = new Uri(
"https://www.twilio.com/docs/documents/25/justthefaxmaam.pdf");
var fax = FaxResource.Create(to, mediaUrl, from: "+8150********");
Console.WriteLine(fax.Sid);
}
}
디버깅에서 반환 값을 확인해 봅니다. Sid를 얻을 수 있었습니다.
감상
API와 라이브러리를 활용할 수 있으므로 팩스 기능을 구현하는 것이 매우 쉽습니다. 처리도 빠르고 요금도 싸기 때문에 매력적인 서비스라고 생각합니다. PDF 파일을 로컬에서 직접 업로드할 수 없기 때문에, 거기는 일 작업하지 않으면 안 될까라고 생각합니다. 좀 더 시도해 보면 팩스 서버를 대체하는 옵션으로 생각하고 싶습니다.
Reference
이 문제에 관하여(Twilio에서 팩스 전송), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gx_chan/items/77f92d864762a4e6b606텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)