Skip to main content
Solved

How to provide filter parameters to allCards API query


Grafeno

Hi,

I am trying to understand how to provide parameters to the allCards query.  It seems there is no place where simple example queries are shown, so its becoming difficult to understand how to construct API queries.

Right now I am experimenting with basic queries and trying them with GraphiQL. With the below query I try to filter cards and retrieve all cards where a certain field has a value equal to a certain value, Eduardo in this example. The below query returns errors, it seems it is expecting a string. The error does not resolve if I enclose the field name and/or value between “”. 

The query below does retrieve values if the 4th line is completely removed (i.e. the line with the filter).

How are this filters constructed? What is the basic grammar? What am I missing? Thanks!

 

errors": [{
      "message": "Argument 'field' on InputObject 'AdvancedSearch' has an invalid value (field_24_string). Expected type 'String'.",

The allCards query 

{  
# searching cards based on limited parameters: you cant limit by phase!
  allCards (pipeId: 11111, 
    filter: {field: field_24_string value:Eduardo}
    )

  {
    edges {

    node { id
          url
          createdAt
      		updated_at
      		current_phase {
      		  id
            name
      		}
      		title
      		fields{
           indexName
            name
            value
          	     }
                     }
        }
  pageInfo{ startCursor endCursor 
  hasNextPage hasPreviousPage } 

  }}

 

Best answer by genietim

In my view and understanding of the documentation, the correct filter would look something like this:

 

filter: {
                field: "my_field_id",
                value: "the value I search for"
            }

 

But, as I see, that does not seem to be working.

View original
Did this topic help you find an answer to your question?

10 replies

genietim
Forum|alt.badge.img+12
  • Pipefy Legend
  • 412 replies
  • Answer
  • February 14, 2022

In my view and understanding of the documentation, the correct filter would look something like this:

 

filter: {
                field: "my_field_id",
                value: "the value I search for"
            }

 

But, as I see, that does not seem to be working.


Grafeno
  • Author
  • New Member
  • 5 replies
  • February 14, 2022

Thanks @genietim for your reply. I have kept experimenting and found that your grammar is correct and does provide a result...as long as you only try to filter by THIS field! 

  allCards (pipeId: 1111, 
  filter: {field: "updated_at", operator: gt, value: "2021-12-18T00:00:00-02:00"}
    )

It seems the AdvancedSearch filter in allCards is in reality a SimpleSearch(ByJustACoupleOfFields)…. So far it does only work IF the fields used to filter are updated_at and due_date. No other field can be used to filter the cards. See the below post. The documentation does not mention this limitation, which makes it more challenging for users to find it. 

 

See this other post


genietim
Forum|alt.badge.img+12
  • Pipefy Legend
  • 412 replies
  • February 15, 2022

Btw., if you actually want to search other fields by values, use the query `findCards`:

 

query {
findCards(pipeId: <yourPipeId>, search: {
                fieldId: "<theFieldId>",
                fieldValue: "<theFieldValue>"
            }, first: 10) {
edges {
node {
id
suid
}
}
}
}

 

(yes, the inconsistent case and name (“field_id”, “fieldId”, “field) is bugging me a bit too)


bernardo-costa
genietim wrote:

Btw., if you actually want to search other fields by values, use the query `findCards`:

 

 

But note here that perhaps this findCards query only works with custom fields. I’m trying to filter by created_at / createdAt but the API response tells me that “Field not found with id: createdAt”

Using updated_at doesn’t work either, only at the allCards query.

 

I find it funny that we can filter by custom fields but not by a built-in field.


produtos7
Forum|alt.badge.img
  • New Member
  • 9 replies
  • February 7, 2024

Olá, ainda nao existe o suporte para que consigamos buscar todos os cards em um pipe usando um filtro da data de criaçao? 

Exemplo, precisamos de uma consulta que nos retorne todos os cards que foram criados nos últimos 30 dias


  • New Member
  • 1 reply
  • February 16, 2024

you'll typically need to include these parameters in the request URL. The exact method may vary depending on the API's documentation and specifications, but here's a general example of how you might structure the request:

GET /api/allCards?parameter1=value1&parameter2=value2

In this example:

  • /api/allCards is the endpoint for the "allCards" query.
  • parameter1 and parameter2 are placeholders for the specific filter parameters you want to apply.
  • value1 and value2 are the values you want to filter the results by.

For example, if you want to filter cards by their rarity and color, your request might look something like this:

GET /api/allCards?rarity=common&color=blue

Make sure to consult the API documentation for the "allCards" endpoint to understand the available filter parameters and their accepted values. Additionally, be mindful of any authentication requirements or rate limits that the API may have.

e.g: bitlife god mode apk

 

 


Lais Laudari

Hi @produtos7!

Did everything go well?

@AmandaJoy thank you for your help!😀


  • New Member
  • 1 reply
  • July 26, 2024

Hi Grafeno,

It looks like you're encountering issues with the syntax for the filter parameter in your allCards query. Based on the error message and the documentation, it seems the field and value should be provided as strings.

Here's how you can correctly construct your filter:

 

graphql

{ allCards ( pipeId: 11111, filter: { field: "field_24_string", value: "Eduardo" } ) { edges { node { id url createdAt updatedAt currentPhase { id name } title fields { indexName name value } } } pageInfo { startCursor endCursor hasNextPage hasPreviousPage } } }

Make sure to use double quotes for both the field and value. If the issue persists, double-check the field name against the API schema to ensure it matches exactly.

Hope this helps!


  • New Member
  • 1 reply
  • July 27, 2024

To provide filter parameters to the allCards API query, include them in the API request URL or payload as per the API documentation. For Bus Simulator Ultimate Mod APK, use an Android emulator like BlueStacks. Download the APK, install it in the emulator, and start playing.


To provide filter parameters to an allCards API query, you need to construct your request URL or body to include the desired filters. Most APIs allow you to append query parameters to the endpoint URL. For example, if you are using an API that fetches card information of tooth gems dubai, you might include parameters such as card type, rarity, or set


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings