Edits history of script submission #206 for ' Get A Campaign Report (mailchimp)'

  • deno
    One script reply has been approved by the moderators
    Ap­pro­ved
    /**
     * @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 hugo697 378 days ago

  • deno
    /**
     * @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 1010 days ago

  • deno
    
    /**
     * @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 1013 days ago

  • deno
    import { Resource } from 'https://deno.land/x/[email protected]/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 1142 days ago

  • deno
    import { Resource } from 'https://deno.land/x/[email protected]/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 1177 days ago

  • deno
    import { Resource } from 'https://deno.land/x/[email protected]/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 1248 days ago

  • deno
    /**
     * @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 1268 days ago