package com.sino.mci.channel.common.spi;

import com.sino.mci.channel.common.dto.CallbackPayload;
import com.sino.mci.channel.common.dto.ChannelInitRequest;
import com.sino.mci.channel.common.dto.ChannelInitResult;
import com.sino.mci.channel.common.dto.SendMessageRequest;
import com.sino.mci.channel.common.dto.SendMessageResult;
import com.sino.mci.channel.common.model.ChannelType;

public interface ChannelAdapter {

    ChannelType getChannelType();

    ChannelInitResult initAccount(ChannelInitRequest request);

    SendMessageResult sendMessage(SendMessageRequest request);

    CallbackPayload parseCallback(String rawBody);
}
