sheepTeams =========== Teams aka Groups, Regions, Applications. Our Teams system was originally built for volunteer applications to teams but has been re-used in many different ways. At the heart of the system is the concept of a *Team* which people can join and leave. :Team: team / group / region / area of expertise SheepCRM resource: `group` :team member: member of the team, applicant SheepCRM resource: `group_member` Application Status ------------------ :accepted: accepted / member / finished / joined :follower: pre-application / interested / follower :started: application started but not yet completed :applied: application submitted (but not accepted) :ready-for-references: references can now be requested :checking: e.g. out for reference checking :references-received: references are back and ready to checked :rejected: rejected by team leaders :waiting: accepted - waiting to join when space permits :cancelled: application cancelled by user :no-show: applicant failed to a :flagged: application has an issue/problem needs human judgement Team Home --------- Teams root showing all flocks that a user can access .. code-block:: http http https://api.sheepcrm.com/api/v1/teams/ Authorization:"Bearer $API_KEY" HTTP/1.1 200 OK { "bearer_token": "***", "first_name": "Support", "flocks": [ "example", "example-association", "example-family", ], "last_login": "2020-02-21T14:18:55", "last_name": "User" } Team Data --------- The large config data packet available for building a client application. .. code-block:: http http https://api.sheepcrm.com/api/v1/teams/$FLOCK/ Authorization:"Bearer $API_KEY" HTTP/1.1 200 OK { "bearer_token": "***", "config": { "address_lines": [ "1 Pretend Street", "Pretendsville", "Utah" ], "availableOptions": [ "giving", "consent", "membership", "events", "venues", "payments" ], "base_for_above": { "flockNamePublic": "Sheep Example", "flockNamePublicShort": "Example", "include_form": true, "logo": "/images/flocks/logo.png", "name_in_logo": false, "signupline": "Become a member", "tagline": "Testing System - For Internal Use Only", "website": "http://www.getsheep.co.uk/" }, "consent_list": [ { "channels": [ "email" ], "cid": "c000", "context": "What’s On Newsletter", "purpose": "Live Programme Newsletter" }, { "channels": [ "email", "phone", "post" ], "cid": "c001", "context": "Bothering phonecalls and letters", "purpose": "To bother you" } ], "email": "fake@example.com", "events": true, "flockNamePublic": "My Community Trust", "flockNamePublicShort": "MCT", "how_to_contact_us_intro": "You can't contact us, because we're not a real organisation, but if we were you could use some details like these.", "how_we_collect": [ "you send us an email", "you sign up as a member", "you make a donation", "you volunteer", "you sign up to a mailing list online" ], "how_we_collect_intro": "We collect personal information directly from you when:", "include_form": true, "logo": "...", "membership": { "allowMultiple": true, "cardstreamDev": { "countryCode": 826, "currencyCode": 826, "merchantId": "***", "preSharedKey": "***" }, "confirmIntroText": "Please double check the details and then click confirm", "enabled": true, "hideFilteredByDefault": true, "payLater": { "linkText": "Request an invoice" }, "paymentOptions": [ "payLater", "stripe", "cardstreamDev" ], "stepIntroText": [ "Select the membership plan that best suits you. ", "Please enter your details so we can create an account for you. We take your privacy very seriously and won't share this information with any third parties without your express consent.", "Please review the information below and check for any errors before continuing. If you find anything that isn't correct, please go back and make your changes.", "Please choose how you would like to pay." ], "steps": [ "Configure membership", "Enter your details", "Review & Confirm", "Make Payment" ] }, "name_in_logo": false, "other_questions_contact": "If you do not want us to use your data in this way, wish to stop receiving communications from us or have any other questions please email us at [myprivacy@sheepcrm.com](mailto:myprivacy@sheepcrm.com?subject=I have a question about the personal information you hold for me)", "palette": { "featureColor": "#f65161", "headerFont": "'Raleway', sans-serif", "hoverColor": "#902b35", "mainColor": "#f65161", "mainFont": "'Open Sans', sans-serif" }, "phone": "01234 567 890", "privacy_intro": "We take privacy very seriously and want to ensure your personal data is cared for correctly and in line with the new General Data Protection Regulation (GDPR). The following page gives some information about how we care for your personal data followed by a short form which you can fill in to tell us how you would like us to communicate with you.", "signupline": "Become a member", "stripeKey": "***", "tagline": "", "teams": { "enabled": false }, "venue_hire": { "amenities_introduction": "Each work space comes with everything you need to get your project off the ground.", "important_information_list": [ { "content": "You don’t need to bring anything, however bringing proof of this reservation will speed up the checking process. If you bring your own electrical tools to use on site then they must comply with health & safety legislation or if require mains supply will need to have been PAT tested. If necessary we can undertake PAT testing on site.", "heading": "What to bring" }, { "content": "On your booked day you have 1 hour to claim your booked bench otherwise you will risk losing your booking, i.e if you have a morning slot you have until 10.30am, otherwise your bench will be given away.", "heading": "Claiming your bench" }, { "content": "If you can’t make it for any reason, please note that you need to let us know before 5.30pm the day before, otherwise you will be charged as we are unable to book anyone in alternatively. For Monday bookings please let us know by the Saturday before as we are closed on Sundays.", "heading": "Cancellation Policy" } ] }, "website": "https://www.sheepcrm.com/", "what_we_collect": [ "contact details and personal information to enable us to plan, organise and manage our annual festival and year round events and keep you up to date with news and other information ", "financial information relating to payments for tickets and merchandise and donations to enable such payments and donations (including Gift Aid applications) to be processed. " ], "what_we_collect_intro": "We collect the following information:", "why_we_collect": [ "To build up a picture of our customer/supporter profile;", "To keep you up to date with news of our events, activities and other information;", "To process a payment that you have made for tickets or merchandise;", "To process a donation that you have made (including Gift Aid information); ", "To manage our employees and volunteers; ", "To maintain our own accounts and records;", "To process a grant;", "To process an application for a role." ], "why_we_collect_intro": "We use your personal data for the following purposes:" }, "first_name": "Support", "flocks": [ "example", "example-association", "example-family", ], "is_staff": true, "last_login": "2020-02-21T14:18:55", "last_name": "User" } List all active teams for a flock --------------------------------- .. code-block:: http http https://api.sheepcrm.com/api/v2/teams/$FLOCK/teams/ Authorization:"Bearer $API_KEY" { "grand_total": 11, "results": [ { "_id": null, "bucket": "...", "created": "2019-07-01T15:29:06.413000", "data": { "accepted": 1, "active": true, "category": "category", "description": null, "entry_requirements": null, "invite_code": null, "invite_only": false, "joining_policy": null, "leader": [ null ], "links": {}, "location": null, "location_address_string": null, "location_country": null, "location_postal_code": null, "max": null, "min": null, "name": "name", "reapply_to_group": null, "remuneration": null, "renuneration": null, "skills_required": null, "tags": [ null ], "total_applicants": 1, "uid": "...-group-5d1a26c2461a181aadaa9b15", "uri": "/.../group/5d1a26c2461a181aadaa9b15/", "what_you_will_do": null, "working_pattern": null }, "display_value": "name", "last_updated": "2019-07-01T15:29:06.472000", "resource": "group", "state": "updated", "uri": "/.../group/5d1a26c2461a181aadaa9b15/" }, ... ], "total": 11 } List of active teams for a given leader ---------------------------------------- :{leader-slugified-uri}: the person uri of the leader. slugify the uri (/example/person/1234/ => example-person-1234) .. code-block:: http http https://api.sheepcrm.com/api/v2/teams/$FLOCK/{leader-slugified-uri} Authorization:"Bearer $API_KEY" { "grand_total": 11, "results": [ { "_id": null, "bucket": "...", "created": "2019-07-01T15:29:06.413000", "data": { "accepted": 1, "active": true, "category": "category", "description": null, "entry_requirements": null, "invite_code": null, "invite_only": false, "joining_policy": null, "leader": [ null ], "links": {}, "location": null, "location_address_string": null, "location_country": null, "location_postal_code": null, "max": null, "min": null, "name": "name", "reapply_to_group": null, "remuneration": null, "renuneration": null, "skills_required": null, "tags": [ null ], "total_applicants": 1, "uid": "...-group-5d1a26c2461a181aadaa9b15", "uri": "/.../group/5d1a26c2461a181aadaa9b15/", "what_you_will_do": null, "working_pattern": null }, "display_value": "name", "last_updated": "2019-07-01T15:29:06.472000", "resource": "group", "state": "updated", "uri": "/.../group/5d1a26c2461a181aadaa9b15/" }, ... ], "total": 11 } Single team detail ------------------ Full team data including a list of members with basic profile data. Team UID is a slugified version of the group URI e.g. ``example-group-5c055088d406945a79dab6d8`` .. code-block:: http http https://api.sheepcrm.com/api/v1/teams/$FLOCK/{team-uid}/ Authorization:"Bearer $API_KEY" HTTP/1.1 200 OK { "active": true, "category": "primary", "config": { ... }, "description": "This group is an example, which anyone should be able to join.\n\nIt has headers\n==========\n\nIt **must** correctly display markdown text including:\n\n* lists\n* _emphasis_\n* headers\n* ~magic~ paragraphs\n", "entry_requirements": "There are no specific requirements for this team", "invite_code": null, "invite_only": false, "joining_policy": null, "leader": [ null ], "leaders": [], "location": null, "location_address_string": null, "location_country": null, "location_postal_code": null, "max": null, "members": [ { "email": "britt@home.com", "extra": null, "first_name": "Britt", "group": "/example/group/5c055088d406945a79dab6d8/", "last_name": "Abernathy", "membership_status": "cancelled", "mobile": null, "person": "/example/person/54aaf7ad3078f80d90d8ca11/", "person_name": "Britt Abernathy", "photo-avatar": "https://s3-eu-west-1.amazonaws.com/sheepcrm/example/person/54aaf7ad3078f80d90d8ca11/photo/avatar--woman-profile.jpeg", "role": "Group Admin", "sortable_name": "abernathy britt", "status": "applied", "tags": [ null ], "telephone": "01235012289", "uid": [ "example-group_member-5d8dffc10b915a588aa79f57" ], "uri": "/example/group_member/5d8dffc10b915a588aa79f57/" }, ... ], "min": null, "name": "Example Group 1", "processing_operation": null, "reapply_to_group": null, "remuneration": null, "renuneration": null, "skills_required": "It would be helpful if applicants were able to survive in a nitrogen-rich atmosphere", "tags": [ null ], "total_volunteer_days": 0, "what_you_will_do": null, "working_pattern": null } Attendance for a given team --------------------------- :{team-slugified-uri}: the team uri. slugify the uri (/example/group/1234/ => example-group-1234) :{booking_id}: the id of the booking. (/example/booking/1234/ => 1234) :expansions: optional control param for more/less data - `profile` - add profile data (recommended) - `application_questions` - include application questions and answers - `consolidated_questions` - use in conjunction with `application_questions` to consolidate questions and answers across multiple applications - `-team_memberships` - remove team_membership data List of all team members and their attendance: .. code-block:: http https://api.sheepcrm.com/api/v2/teams/$FLOCK/team/{team-slugified-uri}/attendance/{booking_id}/ Authorization:"Bearer $API_KEY" expansions==profile Update / Set the attendance for a team member --------------------------------------------- :{team-slugified-uri}: the team uri. slugify the uri (/example/group/1234/ => example-group-1234) :{booking_id}: the id of the booking. (/example/booking/1234/ => 1234) :person_ref: the uri of the person / team member / attendee :attendance_status: valid values: 'invited', 'accepted', 'declined', 'attended' & 'no-show' .. code-block:: http PUT https://api.sheepcrm.com/api/v2/teams/$FLOCK/team/{team-slugified-uri}/attendance/{booking_id}/ Authorization:"Bearer $API_KEY" person_ref=/example/person/1234 attendance_status=attended List of tasks for a given team ------------------------------ Open tasks: .. code-block:: http https://sls-api.sheepcrm.com/api/v2/$FLOCK/group/{uid}/tasks Authorization:"Bearer $API_KEY" All tasks (open and closed): .. code-block:: http https://sls-api.sheepcrm.com/api/v2/$FLOCK/group/{uid}/tasks/all Authorization:"Bearer $API_KEY"