⚡Quickstart
This page helps you get up and running with the Maildrop API within ten minutes.
Last updated
npm install --save @apollo/client graphqlexport const typeDefs = gql`
type Query {
ping(message: String): String
inbox(mailbox: String!): [Message]
message(mailbox: String!, id: String!): Message
altinbox(mailbox: String!): String
statistics: Statistics
status: String
}
type Mutation {
delete(mailbox: String!, id: String!): Boolean
}
type Message {
id: String
subject: String
date: String
headerfrom: String
data: String
html: String
}
type Statistics {
blocked: Int
saved: Int
}
`;export const client = new ApolloClient({
uri: "https://api.maildrop.cc/graphql",
cache: new InMemoryCache(),
typeDefs
});export const TEST_QUERY = gql`
query Test($message: String!) {
ping(message: $message)
}
`;import * as React from "react";
import { useQuery } from "@apollo/client";
import { TEST_QUERY } from "./gql";
interface QueryVariables {
message: string;
}
interface QueryReturn {
message: string;
}
interface TestComponentProps {
message: string;
}
const TestComponent = (props: TestComponentProps) => {
const { loading, error, data } = useQuery<QueryReturn, QueryVariables>(TEST_QUERY, {
variables: { message: props.message }
});
return (
<div>
{loading && <div>Loading...</div>}
{error && <div>There was an error.</div>}
{!loading && data?.message && <div>Return: {data.message}</div>}
</div>
);
};
export default const App = () => {
return (
<div>
<TestComponent message="Hello, world!" />
</div>
);
};