Kaynağa Gözat

公開用API対応

develop
sosuke.iwabuchi 2 yıl önce
ebeveyn
işleme
de9da4c29e
3 değiştirilmiş dosya ile 88 ekleme ve 6 silme
  1. +64
    -0
      src/apps/kt-kintone-lib/index.ts
  2. +15
    -6
      src/mypage/メール.ts
  3. +9
    -0
      src/mypage/領収証発行.ts

+ 64
- 0
src/apps/kt-kintone-lib/index.ts Dosyayı Görüntüle

@@ -0,0 +1,64 @@
import { EmailID, SendEmailKeyProps, sendEmail } from "@/mypage/メール";
import { makeReceipt } from "@/mypage/領収証発行";

/**
* windowのグローバルオブジェクトに関数を登録する
* 本typescriptプロジェクト以外からも関数を参照できるようにするためのAPI
*/

declare global {
interface Window {
KtKintoneLib: typeof KtKintoneLib;
}
}

namespace KtKintoneLib {
// MyPageAPIを呼び出すための関数群
export namespace api {
// 領収証作成API
export function 領収証作成(
入金予定実績レコード番号: number[]
): Promise<boolean> {
return makeReceipt(入金予定実績レコード番号);
}

// メール送信API群
export namespace メール送信 {
export function 解約承認(各種申請レコード番号: number): Promise<boolean> {
return sendEmail(EmailID.解約承認, {
application_no: 各種申請レコード番号,
});
}
export function 車両番号防犯登録番号変更完了(
各種申請レコード番号: number
): Promise<boolean> {
return sendEmail(EmailID.車両番号_防犯登録番号変更完了, {
application_no: 各種申請レコード番号,
});
}
}
export function 利用者情報変更完了(
各種申請レコード番号: number
): Promise<boolean> {
return sendEmail(EmailID.利用者情報変更完了, {
application_no: 各種申請レコード番号,
});
}
export function 申込受付(
定期申込予約レコード番号: number
): Promise<boolean> {
return sendEmail(EmailID.申込受付, {
season_ticket_contract_entry_record_no: 定期申込予約レコード番号,
});
}
export function 申込承認(
定期申込予約レコード番号: number
): Promise<boolean> {
return sendEmail(EmailID.申込承認, {
season_ticket_contract_entry_record_no: 定期申込予約レコード番号,
});
}
}
}

window.KtKintoneLib = KtKintoneLib;

+ 15
- 6
src/mypage/メール.ts Dosyayı Görüntüle

@@ -2,21 +2,30 @@ import { MyPageApiID } from ".";
import { send } from "./lib";

export const EmailID = {
解約承認: "解約承認",
車両番号_防犯登録番号変更完了: "車両番号・防犯登録番号変更完了",
利用者情報変更完了: "利用者情報変更完了",
振替頻度変更完了: "振替頻度変更完了",
申込受付: "申込受付",
申込承認: "申込承認",
定期選考_一斉通知: "定期選考_一斉通知",
定期選考_当選のお知らせ: "定期選考_当選のお知らせ",
定期選考_落選のお知らせ: "定期選考_落選のお知らせ",
} as const;
export type EmailID = (typeof EmailID)[keyof typeof EmailID];

export type SendEmailKeyProps = {
season_ticket_contract_entry_record_no?: number;
application_no?: number;
};
export const sendEmail = (
id: EmailID,
key: {
season_ticket_contract_entry_record_no?: string;
application_no?: string;
},
data: object
key: SendEmailKeyProps,
data: object = {}
) => {
const sendData = {
email_id: id,
...data,
...(data ?? {}),
...key,
token: process.env.MYPAGE_TOKEN ?? "",
};


+ 9
- 0
src/mypage/領収証発行.ts Dosyayı Görüntüle

@@ -0,0 +1,9 @@
import { MyPageApiID } from ".";
import { send } from "./lib";

export const makeReceipt = (recordNos: number[]) => {
const sendData = {
record_no: recordNos,
};
return send(MyPageApiID.領収証発行, sendData);
};

Yükleniyor…
İptal
Kaydet