/**
* @param fields *(optional)* A list of fields to return in the response.
* Reference parameters of sub-objects with dot notation.
*
* @param exclude_fields *(optional)* A list of fields to exclude from the response.
* Reference parameters of sub-objects with dot notation. If both `fields` and `exclude_fields`
* are present, then only `exclude_fields` will be used.
*/
type Mailchimp = {
api_key: string;
server: string;
};
export async function main(
auth: Mailchimp,
campaign_id: string,
fields?: string[],
exclude_fields?: string[],
) {
const url = new URL(
`https://${auth.server}.api.mailchimp.com/3.0/reports/${campaign_id}`,
);
const params = {
fields,
exclude_fields,
};
for (const key in params) {
const value = params[<keyof typeof params>key];
if (value?.length) {
url.searchParams.append(key, value.join(","));
}
}
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${auth.api_key}`,
},
});
if (!response.ok) {
throw Error(await response.text());
}
return await response.json();
}
Submitted by admin 539 days ago
/**
* @param fields *(optional)* A list of fields to return in the response.
* Reference parameters of sub-objects with dot notation.
*
* @param exclude_fields *(optional)* A list of fields to exclude from the response.
* Reference parameters of sub-objects with dot notation. If both `fields` and `exclude_fields`
* are present, then only `exclude_fields` will be used.
*/
type Mailchimp = {
api_key: string;
server: string;
};
export async function main(
auth: Mailchimp,
campaign_id: string,
fields?: string[],
exclude_fields?: string[]
) {
const url = new URL(`https://${auth.server}.api.mailchimp.com/3.0/reports/${campaign_id}`)
const params = {
fields,
exclude_fields
}
for(const key in params) {
const value = params[<keyof typeof params>key]
if(value?.length) {
url.searchParams.append(key, value.join(','))
}
}
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Bearer ${auth.api_key}`
}
})
if(!response.ok) {
throw Error(await response.text())
}
return await response.json()
}
Submitted by admin 542 days ago
import { Resource } from 'https://deno.land/x/windmill@v1.85.0/mod.ts'
/**
* @param fields *(optional)* A list of fields to return in the response.
* Reference parameters of sub-objects with dot notation.
*
* @param exclude_fields *(optional)* A list of fields to exclude from the response.
* Reference parameters of sub-objects with dot notation. If both `fields` and `exclude_fields`
* are present, then only `exclude_fields` will be used.
*/
export async function main(
auth: Resource<'mailchimp'>,
campaign_id: string,
fields?: string[],
exclude_fields?: string[]
) {
const url = new URL(`https://${auth.server}.api.mailchimp.com/3.0/reports/${campaign_id}`)
const params = {
fields,
exclude_fields
}
for(const key in params) {
const value = params[<keyof typeof params>key]
if(value?.length) {
url.searchParams.append(key, value.join(','))
}
}
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Bearer ${auth.api_key}`
}
})
if(!response.ok) {
throw Error(await response.text())
}
return await response.json()
}
Submitted by adam186 670 days ago
import { Resource } from 'https://deno.land/x/windmill@v1.70.1/mod.ts'
/**
* @param fields *(optional)* A list of fields to return in the response.
* Reference parameters of sub-objects with dot notation.
*
* @param exclude_fields *(optional)* A list of fields to exclude from the response.
* Reference parameters of sub-objects with dot notation. If both `fields` and `exclude_fields`
* are present, then only `exclude_fields` will be used.
*/
export async function main(
auth: Resource<'mailchimp'>,
campaign_id: string,
fields?: string[],
exclude_fields?: string[]
) {
const url = new URL(`https://${auth.server}.api.mailchimp.com/3.0/reports/${campaign_id}`)
const params = {
fields,
exclude_fields
}
for(const key in params) {
const value = params[<keyof typeof params>key]
if(value?.length) {
url.searchParams.append(key, value.join(','))
}
}
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Bearer ${auth.api_key}`
}
})
if(!response.ok) {
throw Error(await response.text())
}
return await response.json()
}
Submitted by adam186 705 days ago
import { Resource } from 'https://deno.land/x/windmill@v1.55.0/mod.ts'
/**
* @param fields *(optional)* A list of fields to return in the response.
* Reference parameters of sub-objects with dot notation.
*
* @param exclude_fields *(optional)* A list of fields to exclude from the response.
* Reference parameters of sub-objects with dot notation. If both `fields` and `exclude_fields`
* are present, then only `exclude_fields` will be used.
*/
export async function main(
auth: Resource<'mailchimp'>,
campaign_id: string,
fields?: string[],
exclude_fields?: string[]
) {
const url = new URL(`https://${auth.server}.api.mailchimp.com/3.0/reports/${campaign_id}`)
const params = {
fields,
exclude_fields
}
for(const key in params) {
const value = params[<keyof typeof params>key]
if(value?.length) {
url.searchParams.append(key, value.join(','))
}
}
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Bearer ${auth.api_key}`
}
})
if(!response.ok) {
throw Error(await response.text())
}
return await response.json()
}
Submitted by adam186 776 days ago
/**
* @param server The data center for your Mailchimp account.
*
* @param fields *(optional)* A list of fields to return in the response.
* Reference parameters of sub-objects with dot notation.
*
* @param exclude_fields *(optional)* A list of fields to exclude from the response.
* Reference parameters of sub-objects with dot notation. If both `fields` and `exclude_fields`
* are present, then only `exclude_fields` will be used.
*/
export async function main(
api_key: string,
server: string,
campaign_id: string,
fields?: string[],
exclude_fields?: string[]
) {
const url = new URL(`https://${server}.api.mailchimp.com/3.0/reports/${campaign_id}`)
const params = {
fields,
exclude_fields
}
for(const key in params) {
const value = params[<keyof typeof params>key]
if(value?.length) {
url.searchParams.append(key, value.join(','))
}
}
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Bearer ${api_key}`
}
})
if(!response.ok) {
throw Error(await response.text())
}
return await response.json()
}
Submitted by adam186 797 days ago