2017-05-18 14 views
1

Orion通知を使用してPlivoでSMSを送信しようとしています。 これは私がPlivoと直接SMSを送信する方法である:Orion通知の複雑なペイロード

curl -X POST https://api.plivo.com/v1/Account/MAMDA5ZDJIMDM1/Message/ -L -u MAMDA5ZDJIM:YzhiNDJjODNhNDkxMjhiYTgxZD -H 'Content-Type: application/json' -d @- <<EOF 
{ 
    "src": "0039414141414", 
    "dst": "0039414747111", 
    "text": "test SMS" 
} 
EOF 

私はオリオンでそれをエンコードする必要がありますどのように?私は試しました:

curl localhost:1026/v2/subscriptions -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' -d @- <<EOF 
{ 
    "description": "A subscription to get info about WS_UPPA_Sensor2", 
    "subject": { 
    "entities": [ 
     { 
     "id": "Sensor1", 
     "type": "SensingDevice" 
     } 
    ], 
    "condition": { 
     "attrs": [ 
     "temperature" 
     ] 
    } 
    }, 
    "notification": { 
    "httpCustom": { 
     "url": "https://api.plivo.com/v1/Account/MAMDA5ZDJIMDM1NZVMZD/Message/", 
     "headers": { 
     "Authorization": "Basic TUFNREE1WkRKSU1ETTFOWlZNWkQ6WXpoaU5ESmpPRE5oTkRreE1qaGlZVGd4WkRkaE5qYzNPV1ZsTnpZMA==" 
     }, 
     "payload": "{%22src%22%3A%2200393806412092%22%2C%22dst%22%3A%2200393806412093%22%2C%22text%22%3A%22test%20SMS%20from%20Waziup%22}" 

    }, 
    "attrs": [ 
     "temperature" 
    ] 
    }, 
    "expires": "2040-01-01T14:00:00.00Z", 
    "throttling": 5 
} 
EOF 

%エンコード以外の方法がありますか?

答えて

0

URL encoding(「パーセント符号化」とも呼ばれます)は、カスタム通知(詳細はpart of the Orion documentationと記載)で特別扱いされている唯一のものです。

実際、既存のものをすべて取り入れている(つまり、任意のテキストはURLエンコーディングで表現できます)、他のものを追加する必要はありません。見られるように

+0

http://fiware-orion.readthedocs.io/en/master/user/forbidden_​​characters/#specific-restrictions-for-id-fields 私はそのように私のペイロードをエンコード: 「ペイロード」: "%22src%22:%2200393806412092%22、%22dst%22:%2200393806412093%22、%22text%22:%22test%22" " 正しいですか?引用符だけをエスケープする必要があります( "}"や ":"や "、"ではなく)? – cdupont

+0

それは正しいです。 "}"、 ":"、 "、"は禁則文字ではありませんので、直接使用することができます。私はOrionが実際に送信しているものを確認することをお勧めします。 http://requestb.inツールを使用して(もちろん、サブスクリプション '' url ''を調整してください)。 – fgalan

関連する問題