クライアントクーリエサービスの相互作用とスケーリング

画像





特定のクライアントの特定のタスクの小さなリビジョンをカットすると、その後、タスク(リビジョンではなく、リビジョン)が大規模なものになることがほとんどありません。 それでもなお、顧客間の会話を制御するシンプルなアドオンを作成し、宅配業者を惹きつけました。彼女はそれを取り入れて、外部システムから通話シナリオを管理するツールに成長しました。







問題:コントロールの欠如



私たちのクライアントであるオンラインストアは急速に発展し、すべての注文を時間通りに受取人に届けるのに十分な宅配業者がいない期間が生じ始めました。 ちょうどそのころ、すべてのもののユーバー化にブームがありましたが、彼は配達サービスも迂回しませんでした。







この店は外部の宅配業者を引き付け、栄光に身を任せる準備をしていました。州の人々を雇うことに比べて節約が顕著になりました。 しかし、予想外のことに、配信エラーの割合は下品になりました。







私たち自身の宅配便業者が注文を届けると、すべてがうまくいくことがわかりました。 しかし、関与することで何かが間違っています。 顧客は不満を抱き、注文を受け入れず、Yandex.Marketに否定的なレビューを書きさえします。







宅配便業者が言うことはすべて使用できます...



店はそれを理解したかったのですが、会話を記録しないと不可能な作業でした。もちろん、宅配便業者は携帯電話を使用し、顧客とのコミュニケーションの質を評価する方法はありませんでした。







そして、店舗は、関係する宅配便業者とのやり取りのスキームを変更しました。 それらの番号は別のカテゴリでCRMに取り込まれ、スクリプトを設定して、顧客ではなくストアに電話をかけました。









プロトタイプから完成品まで



サーバーシステムのプロトタイピングに適したgetsandbox.comサービスを使用しました。 このサービスのアカウントを使用すると、独自のサブドメインを作成し、それらにhttp要求ハンドラーを登録できます。







画像







JavaScriptを使用してハンドラーを記述します。 サービスボーナス:リクエスト間でデータを保存できる状態システムオブジェクトがあります。 これにより、マルチパスシナリオをシミュレートできます。 さらに、失敗と誤った応答が考えられます。







httpハンドラーは非常に簡単に登録されます。
// '/ crm_integration'-ハンドラー名

// req-着信HTTPリクエスト

// res-システム応答

Sandbox.define( '/ crm_integration'、 'GET'、関数(req、res)

{

//応答コードを設定し、エラーを渡すことができます

res.status(200);

//コンテンツのタイプを示します

res.type( 'application / json');

//コンテンツをキャッチします

/ * DispatchIncomingDealは、発信者の番号に応答する方法を尋ねた自己記述関数です。クーリエのカードを取得し、番号の特別な処理を作成しました。これについては記事で説明します* /

res.json(DispatchIncomingDeal(req));

//処理をオフにし、「固定された」答えを出す必要がある場合のスタブ

// res.json( "{\" phone \ ":[\" 79175968108 \ "]}");

});



クライアント要求変数のコンテンツにアクセスするには、reqオブジェクトを使用します。このオブジェクトに対して、名前で値を直接参照します。







行う必要があるのは、宅配便カードを作成するだけで、仮想PBXに接続するときに、numaパラメーターで渡された発信者の番号を探します。







発信者の番号を探しています
// numa-仮想PBXからのリクエストで渡されるパラメーター

var numa = req.query.numa;

関数FindByNuma(numa)

{

return _.findIndex(state.carriers、function(obj){return(obj.numa === numa);});

}



番号がクーリエカードに記載されている場合は、仮想PBXにクーリエにヒントを与え、彼からのデジタル入力を待つように依頼します。







その結果、ストアは次のスキームを実装しました。









スキームが機能していることを確認して、Virtual PBXアドインをInteractive Call Processingと呼ばれる本格的なツールに仕上げました 。 これにより、httpを介した統合をサポートする外部システムからコールスクリプト管理を実装できます。







命令は、uis_test.getsandbox.com / crm_integration?cdr_id = 123&start_time = 1200&input_result = None&numa = 74952345678&numb = 74951234567という形式の呼び出しパラメーターで特定のURIを呼び出すことにより転送されます。









外部システムは、仮想PBXのJSON命令が含まれるhttp応答を送信する必要があります。 仮想PBXでのクライアントとサーバーの相互作用にエラーがある場合、フォールバックアクションシナリオを指定する機能を提供しました。







このツールを使用する他のケースと、その助けによって開かれた可能性が興味深い場合は、コメントを共有してください。








All Articles